VSCode 1.60+ 原生支持彩虹括号,需同时启用 bracketPairColorization.enabled 和 independentColors,并确保语言模式正确、卸载旧插件;否则括号仍显示为灰色。

VSCode 1.60+ 原生支持彩虹括号,不需要装插件——但默认可能关着、被旧插件覆盖、或语言模式不匹配,导致你“写了三层嵌套却全是灰色括号”。
怎么确认括号配对功能真正启用了
很多人以为开了插件就完事了,其实 VSCode 的括号着色分两层:先识别配对(editor.bracketPairColorization.enabled),再上色(颜色配置)。识别层关了,插件根本没东西可染。
- 按
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS)打开设置,搜bracket pair colorization - 必须勾选
Editor › Bracket Pair Colorization: Enabled(对应 JSON 是"editor.bracketPairColorization.enabled": true) - 顺手检查
Editor: Match Brackets是否设为always,否则光标不靠近括号时不会触发高亮 - 如果右下角语言模式显示
Plain Text或JSON with Comments,括号配对直接失效——得点它手动切到JavaScript、TypeScript等正确模式
为什么开了还是单色?关键在 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–3 就够了
VSCode 原生只认 workbench.colorCustomizations.editorBracketHighlight.foreground1 到 foreground3 这三个字段。别写 background1 或 editorBracketMatch.background——那是旧插件的废弃字段,写了也没用。
- 按
Ctrl + Shift + P输入Preferences: Open Settings (JSON) - 在
workbench.colorCustomizations对象里加这三行:
"editorBracketHighlight.foreground1": "#FF6B6B33", "editorBracketHighlight.foreground2": "#4ECDC433", "editorBracketHighlight.foreground3": "#FFD93D33"
#FF6B6B33),避免盖住语法高亮;超出 3 层自动循环,不用配满 6 个装了 Bracket Pair Colorizer 2 却没效果?赶紧卸载
VSCode 1.68+ 已把括号着色下沉到底层,bracket-pair-colorizer-2 不仅功能重复,还会和原生机制冲突,导致括号闪烁、颜色错乱、甚至光标跳动。
- 打开扩展面板(
Ctrl + Shift + X),搜Bracket Pair Colorizer - 卸载所有相关插件(包括
Bracket Pair Colorizer和Bracket Pair Colorizer 2) - 重启 VSCode,再测试原生功能是否生效
- 如果还想看缩进结构,
indent-rainbow是更轻量、无冲突的补充选择
最容易被忽略的是:语言模式错误 + independentColors 关闭 + 旧插件残留,这三者任意一个没处理,彩虹括号就永远是灰色的。


















