vscode 1.60+ 原生支持彩虹括号,启用 editor.bracketpaircolorization.enabled 即可,无需插件;bracket pair colorizer 2 失效主因是原生配对功能被禁用或语言模式错误;三层颜色通过 editorbrackethighlight.foreground1/2/3 自定义,unexpectedbracket 实时标红错配括号;缩进染色需手动开启 indentrainbow.enable 并配置 includelanguages;建议同时开启 editor.guides.bracketpairs: "active" 显示垂直引导线。

VSCode 1.60+ 已内置括号配对高亮功能,editor.bracketPairColorization.enabled 开启后即可实现“彩虹括号”,无需安装第三方插件——装了反而容易冲突、错位或卡顿。
为什么 Bracket Pair Colorizer 2 没效果?
常见错误现象:Bracket Pair Colorizer 2 安装后括号还是灰色,或只在部分文件生效。
- 根本原因:VSCode 原生的括号识别(配对)功能被禁用了,插件只是“上色”,不负责“找配对”
- 必须先确认
"editor.bracketPairColorization.enabled": true已启用(设置里搜bracket pair colorization) - 顺手检查
editor.matchBrackets设为always,否则光标不靠近括号时不会触发高亮 - 语言模式必须正确:比如打开的是
.js文件,但右下角显示 “Plain Text”,则原生配对直接失效
怎么用原生功能配出三层彩虹色?
不用插件,改三行 JSON 就能控制全部嵌套层级的颜色节奏,超出第 3 层会自动循环复用 —— 改太多反而破坏语义。
- 按
Ctrl + Shift + P输入Preferences: Open Settings (JSON) - 在
workbench.colorCustomizations里添加:
"editorBracketHighlight.foreground1": "#FF9966", "editorBracketHighlight.foreground2": "#66CCFF", "editorBracketHighlight.foreground3": "#FF66CC", "editorBracketHighlight.unexpectedBracket.foreground": "#FF3333"
foreground1 对应最外层(如函数体 {}),foreground2 是中间层(如 map([]) 中的方括号),foreground3 是最内层(如箭头函数 () => {} 的圆括号)unexpectedBracket.foreground 很关键:多写一个 } 或少写一个 ) 时会立刻标红,比 ESLint 报错更快定位缩进也要彩色?用 indent-rainbow,但注意默认不生效
indent-rainbow 插件确实能给缩进加色条,但它默认只对 javascript、python、typescript 等语言启用,.md、.json、.yml 文件里是关闭的。
- 安装后必须手动开启:
indentRainbow.enable设为true - 若想支持 Markdown 缩进染色,需在
settings.json中显式加入:"indentRainbow.includeLanguages": ["markdown"] - 颜色太抢眼?调低透明度:
"indentRainbow.opacity": 0.3;线太粗?改"indentRainbow.lineWidth": 1 - 别碰
background字段:那是旧版插件用的,VSCode 原生和新版indent-rainbow都不认
真正容易被忽略的点是:括号颜色再漂亮,如果 editor.guides.bracketPairs 没开,深层嵌套时单靠颜色根本分不清哪对括号管到哪一行——建议至少设为 "active",让当前括号对带垂直引导线。











