括号高亮失效主因是未在用户设置中显式配置"match_brackets": true,拼写错误、注释或JSON格式错误均导致静默失效;需配合BracketHighlighter的high_visibility_enabled_by_default和主题scope定义才能实现持续高亮。

match_brackets 必须显式设为 true,拼错就失效
括号高亮根本起不来,八成卡在这一步:你没在 Preferences → Settings 的右侧「User Settings」里亲手写上 "match_brackets": true。Sublime 不会继承默认值——哪怕默认是 true,只要没出现在你的用户配置里,它就当关着。
常见错误包括:match_bracket(少个 s)、match-brackets(用了短横线)、或被注释掉。一旦拼错,整个匹配逻辑静默失效,BracketHighlighter 连触发机会都没有。
-
"match_brackets_braces": true控制{}是否响应 -
"match_brackets_square": true控制[]是否响应 -
"match_brackets_content": true才能高亮括号之间的整块内容(比如函数体) -
"match_brackets_angle": false强烈建议保持关闭,否则<div> 在 JS/Python 文件里会频繁误高亮 <p>改完保存即生效,无需重启;但若 JSON 格式出错(如引号不闭合、多逗号),整段配置被忽略,右下角语言模式显示为 <code>Plain Text时括号规则也不加载。BracketHighlighter 的 high_visibility_enabled_by_default 是常驻高亮的硬开关
原生
match_brackets只在光标“踩”在括号字符上时闪一下;要让括号边框持续可见(比如光标停在函数名上,参数()仍清晰标出),必须靠BracketHighlighter的high_visibility_enabled_by_default开关。这不是可选项,是硬性依赖。安装方式:命令面板
Ctrl+Shift+P→Package Control: Install Package→ 搜BracketHighlighter(注意大小写,不是旧版bracket_highlighter)。- 打开
Preferences → Package Settings → BracketHighlighter → Bracket Highlighter Settings - 在右侧用户设置中加:
"high_visibility_enabled_by_default": true - 推荐搭配
"highlight_style": "outline",实线边框比背景填充更可靠 - 别开
"underline": true,容易和语法高亮冲突
如果只悬停闪一下、松开就灭,说明这个开关没开——不是插件没装,是这行没写进去。
主题缺
brackethighlighter.*颜色 scope,高亮就淡得看不见BracketHighlighter不直接画颜色,它告诉 Sublime:“请用brackethighlighter.round这个 scope 的样式来渲染圆括号”。如果当前主题文件里没定义这个 scope,它 fallback 到极浅灰,看起来就像没开。临时验证方法:菜单 →
Color Scheme→ 切到Monokai或Adaptive,再按Ctrl+M—— 如果立刻清晰,说明你当前主题缺配置。- 长期解决:用
PackageResourceViewer提取当前主题的.sublime-color-scheme文件 - 在
rules数组末尾加一段(注意 JSON 格式合法): "scope": "brackethighlighter.round, brackethighlighter.curly, brackethighlighter.square"-
"foreground": "#FF5555"或"background": "#282C3430"(带透明度避免遮挡语法)
很多自定义主题压根没写这些,不是插件问题,是主题缺定义。
嵌套括号分不清?得配
bracket_styles,不能只靠 theme默认所有括号都走同一个高亮色,嵌套三层以上根本分不清哪对是哪对。这不是主题颜色太淡的问题,是
BracketHighlighter没配层级样式。打开
Preferences → Package Settings → BracketHighlighter → Bracket Highlighter Settings – User,在用户配置中明确区分三类:"curly": {"color": "brackethighlighter.curly", "style": "outline"}"round": {"color": "brackethighlighter.round", "style": "solid"}"square": {"color": "brackethighlighter.square", "style": "underline"}
别只改
color值——真正起作用的是style和color对应的 scope 名;而 scope 名是否生效,又取决于你主题里有没有定义它。三者环环相扣,漏一不可。 - 打开

















