VSCode 1.68+ 已内置括号配对高亮(editor.bracketPairColorization.enabled),应禁用 bracket-pair-colorizer-2 避免冲突;如需缩进可视化,可选 indent-rainbow。

Bracket Pair Colorizer 2 已停更,用 bracket-pair-colorizer-2 还是 indent-rainbow?
VSCode 官方从 1.68 版本起内置了括号配对高亮(editor.bracketPairColorization.enabled),不再需要第三方插件实现基础彩色嵌套。现在装 bracket-pair-colorizer-2 不仅功能重复,还会和原生功能冲突,导致括号闪烁、颜色错乱甚至光标跳动。
如果你只是想看清 {}、[]、() 的嵌套层级,直接开原生功能就行;如果还想看缩进对齐结构,indent-rainbow 是更轻量、更稳定的补充选择。
-
editor.bracketPairColorization.enabled默认为true(1.70+),旧版可手动设为true - 禁用所有括号着色插件,重启 VSCode 后再测试,避免缓存干扰
-
indent-rainbow不碰括号逻辑,只渲染缩进条,和原生括号着色完全正交,无兼容风险
怎么打开 VSCode 原生括号彩色嵌套?
不是靠插件,而是改设置项。VSCode 1.68+ 把这个能力下沉到编辑器底层,响应更快、不卡顿,也不吃 CPU。
- 按
Ctrl+,(Windows/Linux)或Cmd+,(macOS)打开设置页 - 搜索
bracketPairColorization,把Editor > Bracket Pair Colorization: Enabled打钩 - 如需自定义颜色,搜
workbench.colorCustomizations,在settings.json里加:
"workbench.colorCustomizations": {
"editorBracketHighlight.foreground1": "#ff6b6b",
"editorBracketHighlight.foreground2": "#4ecdc4",
"editorBracketHighlight.foreground3": "#45b7d1"
}注意:foreground4 ~ foreground6 也支持,但超过 6 层会循环复用,不是无限嵌套都不同色。
为什么装了 bracket-pair-colorizer-2 反而括号不显示颜色?
常见错误现象:插件启用后,括号没变色,或者只有部分括号有颜色,甚至报错 Cannot read property 'document' of undefined。
- VSCode 1.70+ 默认关闭了该插件的注入权限,它无法劫持编辑器渲染流程
- 插件与原生
bracketPairColorization同时启用时,会互相覆盖语法标记(TextMate token),造成颜色丢失 - 某些语言模式(如
jsonc、markdown)不在插件默认支持列表里,需手动配置bracketPairColorizer.languages - 插件作者已归档仓库,不再修复 VSCode 新 API 变更引发的问题
想让括号“更醒目”?别改颜色,试试这 3 个真实有效的设置
单纯调高饱和度容易伤眼,且对深色主题不友好。真正提升可读性的,是强化视觉锚点而非堆颜色。
- 开启
editor.guides.bracketPairs:显示垂直对齐线,一眼锁定作用域范围 - 启用
editor.highlightActiveBracketPair:光标进入括号内时,自动高亮整对(比颜色更可靠) - 配合
editor.fontLigatures: true和 Fira Code 等连字字体,=>、!=、[]等符号本身就有结构暗示
这些设置都不依赖插件,不增加启动时间,也不影响大文件编辑性能。
原生括号着色的层级判断基于语法树,不是正则匹配,所以不会被注释里的括号带偏——这点很多人忽略,直到在 /* if (x) { */ 里看到错误高亮才反应过来。


















