vscode 1.60+ 原生支持括号颜色匹配,需开启 editor.bracketpaircolorization.enabled 和 independentcolors,并确保主题与语言模式兼容,卸载旧插件避免冲突。

VSCode 1.60+ 已原生支持括号颜色匹配,不需要装插件也能实现多层嵌套着色——但默认可能被关掉、被旧插件干扰、或主题不兼容,导致你“明明开了却没颜色”。
确认 editor.bracketPairColorization.enabled 已开启
这是最常被忽略的开关。VSCode 1.60+ 默认启用,但用户手动改过设置、或用过旧版配置模板时,它常被设为 false。
- 按
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS)打开设置 - 搜索
bracket pair colorization - 勾选 Editor › Bracket Pair Colorization: Enabled
- 顺手检查
Editor: Match Brackets是否为always,否则光标靠近括号时不触发高亮
如果装了 Bracket Pair Colorizer 或 Bracket Pair Colorizer 2 这类老插件,它们会和内置功能冲突——必须卸载,否则颜色不会生效。
启用独立嵌套层级着色:independentColors
只开 enabled 不够,括号会全用同一组循环色(比如三层都红),看起来像“没变色”。真正区分嵌套,得开独立着色模式。
- 在设置里搜
independent colors - 勾选 Editor › Bracket Pair Colorization: Independent Colors
- 对应 JSON 配置是
"editor.bracketPairColorization.independentColors": true
不开这个,foreground1–foreground3 就只是摆设;开了之后,第 1 层用 foreground1,第 2 层用 foreground2,第 3 层用 foreground3,第 4 层开始循环回 foreground1。
自定义颜色:只改 foreground1–foreground3
VSCode 原生只认 workbench.colorCustomizations.editorBracketHighlight.foreground1 到 foreground3 这三个字段,别写 background1 或 editorBracketMatch.background——那是旧插件或已废弃的配置项。
- 按
Cmd + Shift + P输入Preferences: Open Settings (JSON) - 在
workbench.colorCustomizations对象里加:
"editorBracketHighlight.foreground1": "#FF6B6B", "editorBracketHighlight.foreground2": "#4ECDC4", "editorBracketHighlight.foreground3": "#FFD93D"
颜色值建议带透明度(如 #FF6B6B33),避免盖住语法高亮;超出 3 层自动循环,不用配满 6 个。
为什么有些文件没颜色?检查语言模式和主题
括号着色不是全局生效的:它依赖当前文件的语言模式(如 javascript),也依赖主题是否声明了括号高亮 token。
- 看右下角状态栏,确认语言模式不是
Plain Text或Markdown——如果是,点它切换成对应语言(如JavaScript) - 某些主题(尤其自定义或轻量主题)不支持括号着色,临时切到
GitHub Dark或One Dark Pro测试 - 想禁用某语言(比如 HTML 模板里括号太多干扰),在 settings.json 中加:
"[html]": { "editor.bracketPairColorization.enabled": false }
真正卡住人的,往往不是“怎么配”,而是“以为配好了,其实 independentColors 没开”或“主题根本不支持”——这两个点比颜色值本身重要得多。











