brackethighlighter 默认无彩虹效果,需同时配置用户设置中的level_1–level_6映射和主题文件中对应的brackethighlighter.level.1–level.6颜色定义,缺一不可。

BracketHighlighter 本身不提供“一键彩虹”功能,所谓“一键安装”只是第一步,真正让括号按嵌套层级变色(即彩虹效果),必须手动配齐两套配置:用户设置里的 level_1–level_6 映射,以及主题文件里对应的 brackethighlighter.level.1–brackethighlighter.level.6 颜色定义。漏掉任一环,括号就只能是单色高亮。
BracketHighlighter 安装后为什么括号还是灰色?
因为插件默认只做“标记”,不决定颜色——颜色全靠主题文件里是否存在 brackethighlighter.level.1 这类作用域定义。常见现象是:安装完插件、光标放括号上能高亮,但所有层级都是一种灰。
-
high_visibility_enabled_by_default必须设为true,否则连基础高亮都可能不触发 - 用户设置中
bracket_styles下的level_1到level_6必须全部显式写出,漏一个就会 fallback 到default,那一层就变灰 - 主题文件(如
Monokai.tmTheme)里必须有对应 key,比如:"brackethighlighter.level.2": {"foreground":"#AB9DF2"},大小写、下划线、点号都不能错 - 缩进用 Tab 会导致 Sublime 忽略整个配置块——务必确认你用的是空格缩进
JSON / Vue / TS 文件括号不彩虹?语言作用域没对上
BracketHighlighter 默认只识别 source.js、source.python 等通用作用域,而 .json 文件的作用域是 source.json,.vue 中的 <script></script> 块可能是 source.js.vue,<template></template> 是 text.html.vue——这些都不在默认监听列表里。
- 在用户设置中补全
scope_exclude_patterns或扩展bracket_scopes,例如添加"source.json"、"source.js.vue" - Vue 单文件组件需额外配置
language_map,把vue映射到source.js或source.ts,否则插件根本不会扫描<script></script>块内的括号 - TS 文件若用
source.ts作用域,需确认该作用域已加入bracket_scopes列表,否则level_*规则压根不生效
改主题文件怕崩?用 PackageResourceViewer 提取再覆盖
直接编辑 .tmTheme 文件风险高,容易破坏其他语法高亮。更稳妥的做法是用 PackageResourceViewer 插件提取当前主题,然后在 Packages/User/ 下新建同名文件覆盖。
- 安装
PackageResourceViewer后,按Ctrl+Shift+P→ 输入PackageResourceViewer: Open Resource - 选择当前主题(如
Monokai),打开其.tmTheme文件 - 复制全文,在
Packages/User/下新建同名文件(如Monokai.tmTheme),粘贴并插入brackethighlighter.level.*块 - 保存后,关闭再重开当前文件才生效;重启 Sublime 有时也不管用
level_1–level_6 在用户设置和主题文件里必须严格一一对应——少一个、错一个字母、缩进用 Tab、文件没重开,都会让彩虹效果彻底消失。











