必须先开启内置match_brackets功能,再配置brackethighlighter插件;需检查match_brackets、match_brackets_content等设为true,调整主题配色、分层样式及high_visibility_enabled_by_default=true实现持续高亮。

括号高亮不明显?先确认内置 match_brackets 是否真开启
sublime 默认开启括号匹配,但很多人改过设置后把它关掉了,结果装了插件也“没反应”——其实根本没走到插件那步。必须先确保原生功能正常,否则 BracketHighlighter 的高亮可能被压制或覆盖。
-
match_brackets必须为true,否则光标靠近括号时连最基础的闪烁都没有 -
match_brackets_content设为true才能高亮括号内部整块区域(比如 Python 的if ...:块或 js 的{}函数体) -
match_brackets_braces和match_brackets_square也要设为true,否则 json 或列表的{}、[]不亮 -
match_brackets_angle强烈建议保持false,不然 HTML 标签<div> 会频繁误触发,干扰开发 <p>打开 <code>Preferences → Settings,在右侧用户设置中粘贴或修正这几项,保存即生效,无需重启。BracketHighlighter 高亮还是看不见?颜色被主题吃掉了
插件装好了、设置也对了,但括号边框淡得像没开——大概率是当前主题没定义
brackethighlighter.default这类颜色名,导致插件 fallback 到极浅的灰色。这不是插件问题,是主题缺配色。- 临时验证:切换到内置主题
Monokai或Adaptive,看高亮是否立刻变清晰 - 长期方案:用
PackageResourceViewer提取当前主题,编辑其.sublime-color-scheme文件,在rules数组里加一段:
{ "name": "Bracket Highlight", "scope": "meta.brace.round, meta.brace.square, meta.brace.curly", "foreground": "#FF5555", "background": "#282C3430", "bold": true }注意:
scope必须写全三类括号,background带透明度(如30)可避免遮挡语法高亮。嵌套多层括号分不清?靠 bracket_styles 分层配色
默认所有括号都用同一种颜色,嵌套深了根本分不清哪层是哪层。BracketHighlighter 支持按括号类型(
curly、round、square)和嵌套层级分别配色,但必须手动配置,且顺序敏感。- 打开
Preferences → Package Settings → BracketHighlighter → Bracket Highlighter Settings – User - 在用户配置中写明不同括号类型的样式,例如:
"bracket_styles": { "curly": { "color": "brackethighlighter.curly", "style": "outline" }, "round": { "color": "brackethighlighter.round", "style": "solid" }, "square": { "color": "brackethighlighter.square", "style": "underline" } }关键点:
brackethighlighter.curly这类颜色名必须在你当前主题的 color-scheme 文件里真实存在,否则无效;style推荐用outline(实线边框)比underline更易识别。高亮只闪一下就消失?high_visibility_enabled_by_default 要设为 true
默认行为是“悬停才高亮”,光标一移开就没了。这对嵌套结构排查几乎没用——你需要的是常驻高亮,尤其调试复杂表达式或模板字符串时。
- 在 BracketHighlighter 用户配置中加这一行:
"high_visibility_enabled_by_default": true - 再配上
"high_visibility_style": "outline",就能得到持续、带粗边框的高亮效果 - 如果还想要更宽的视觉范围,可以加
"high_visibility_extra_offsets": ["left", "right"],让高亮向左右各延展一个字符位
别漏掉这个设置:很多用户装完插件就以为万事大吉,结果一直用着“半残废”的默认行为,直到某天被三层嵌套的
map(Filter(reduce(...)))折磨到崩溃才回头翻文档。 - 临时验证:切换到内置主题