必须启用原生match_brackets及brackethighlighter插件,并配置high_visibility_enabled_by_default为true、bracket_styles分色、正确语法识别,四者缺一不可;拼写错误或plain text语法模式会导致高亮失效。

原生 match_brackets 开启后只能闪一下、颜色淡、分不清 () 和 {}——这不是你设置错了,是它本来就不支持分类型高亮。真要“阅读源码必备”的清晰效果,必须用 BracketHighlighter 插件配对配置。
为什么光标停在 ( 或 { 上没反应?检查这 4 个开关
括号高亮不是“装了插件就亮”,得先确保 Sublime 自身的底层开关全开:
-
match_brackets必须为true(注意拼写是复数brackets,写成match_bracket就彻底失效) -
match_brackets_braces设为true才能识别{},否则 JSON/Python 里的大括号不亮 -
match_brackets_square设为true才能识别[],但圆括号和花括号不依赖它 -
match_brackets_angle强烈建议保持false,否则 HTML 标签如<div> 会频繁误触发,干扰 JS/Python 阅读 <p>这些都写在 <strong>Preferences → Settings</strong> 的用户设置右侧面板里,保存即生效,不用重启。</p> <h3> <code>BracketHighlighter安装后还是只闪不常亮?关键在high_visibility_enabled_by_default原生
match_brackets只在光标悬停时短暂闪烁;要让(和{的配对项“一直亮着、边框清晰、颜色分明”,BracketHighlighter的这个配置不能漏:- 安装方式:
Ctrl+Shift+P→ 输入Install Package→ 搜索并安装BracketHighlighter - 打开 Preferences → Package Settings → BracketHighlighter → Settings
- 确认
"high_visibility_enabled_by_default": true已启用(默认是false) - 顺手设
"high_visibility_style": "outline",实线边框比背景色更醒目,尤其在深色主题下
改完保存,立刻生效。别等重启——它不依赖重启,但依赖光标“精确落在括号字符上”,停在空格或换行符里都不触发。
怎么让
()和{}颜色不同?靠bracket_styles而不是主题很多用户以为换主题就能区分圆括号和花括号,其实主题只管
meta.brace这个通用 scope;真正分色,得靠BracketHighlighter的bracket_styles配置:- 在
BracketHighlighter的用户设置里加这段:
{ "bracket_styles": { "round": { "icon": "dot", "color": "brackethighlighter.default", "foreground": "#FF6B6B" }, "curly": { "icon": "brace", "color": "brackethighlighter.curly", "foreground": "#4ECDC4" } } }其中
round对应(),curly对应{};foreground是边框颜色,直接生效,不依赖主题文件。如果仍显示灰色,说明当前主题缺失
brackethighlighter.curly等 scope 定义——临时验证:菜单 → Color Scheme → 切到One Dark或Material Theme,立刻可见分色效果。右下角语言模式错位,括号高亮直接失效
哪怕所有设置都对,只要右下角显示的是
Plain Text,{}在 JSON 文件里也不会亮,()在 Python 里也形同虚设。语法识别是括号高亮的前提,不是可选项:- 点右下角语言名(比如显示
Plain Text),手动选成JavaScript、Python或对应语法 - 如果文件后缀没被自动识别(比如
.jsx、.vue),用命令面板Ctrl+Shift+P→ 输入Set Syntax: JavaScript (Babel)等扩展语法 - 别信“自动识别”,某些模板文件(如
.jinja)必须手动指定,否则BracketHighlighter收不到正确 scope
最易忽略的点:括号高亮不是纯 UI 功能,它依赖语法解析器输出的 scope 字符串。scope 错了,再亮的颜色也白搭。
- 安装方式:











