rainbow brackets 未生效主因是插件冲突或语言模式错误:需卸载 bracket pair colorizer 等冲突插件、确认文件语言模式正确(非 plain text)、检查扩展已启用;颜色配置须修改 settings.json,支持自定义颜色数组和 strongmode 加粗;python 中 if 后括号不染色属正常设计,因其非语法树中成对结构。

安装 Rainbow Brackets 扩展后没反应?检查是否被其他括号高亮插件冲突
Rainbow Brackets 默认只在启用时生效,但常见问题是它和 Bracket Pair Colorizer 或旧版 Auto Close Tag 冲突——后者会接管括号渲染逻辑,导致彩虹色完全不显示。卸载或禁用这两类插件后重启 VSCode 通常就能恢复颜色。
另外确认扩展已启用:打开命令面板(Ctrl+Shift+P / Cmd+Shift+P),输入 Extensions: Show Enabled Extensions,搜索 Rainbow Brackets 看状态是否为“Enabled”。
小括号颜色没变?确认语言模式和括号类型支持范围
Rainbow Brackets 默认只对 ()、[]、{} 三类成对符号生效,且依赖当前编辑器的语言模式识别。如果文件没正确识别为 JS/Python/TS 等语言(右下角显示“Plain Text”),括号不会被染色。点击右下角语言标识,手动选择对应语言(如 JavaScript)即可。
它不处理单字符括号(如正则中的 (?=...) 中的 (?)、模板字符串内插值 ${...} 中的 { 和 },也不染色 JSX 属性里的 { }(除非开启 rainbowBrackets.languages 配置并加入 javascriptreact)。
可手动触发验证:在 JS 文件中写一段嵌套调用:
foo(bar(baz(qux()))),正常应看到四层不同颜色的小括号。
想自定义颜色或加粗?改 settings.json 而不是 UI 设置面板
VSCode 设置界面里搜 “rainbow” 只能调少数开关,真正配颜色得进 settings.json。按 Ctrl+, 打开设置 → 右上角点“打开设置(JSON)”,添加:
{
"rainbowBrackets.colors": [
"#FF0000",
"#00FF00",
"#0000FF",
"#FFFF00",
"#FF00FF",
"#00FFFF"
],
"rainbowBrackets.strongMode": true
}
"strongMode": true 让最外层括号加粗(视觉更易区分嵌套层级),"colors" 数组长度决定最多支持几层嵌套,超出部分循环使用。注意数组里必须是十六进制颜色字符串,不能用 rgb() 或命名色。
别漏掉逗号——JSON 格式错误会导致整个配置失效,VSCode 不报错但 Rainbow Brackets 会静默退场。
Python 里 if 后面的括号不染色?这是设计使然,不是 bug
Rainbow Brackets 只匹配语法树中明确成对的结构化括号,Python 的 if (x > 0 and y 中的 <code>() 在 AST 里不是独立节点(条件表达式直接挂载在 If 节点下),所以不会染色。同理,for i in range(10):、def func(a, b): 里的括号也不会染。
它专注解决「括号嵌套过深看不清闭合位置」的问题,不是通用括号标记工具。如果你真需要所有括号都高亮,得换用 Bracket Pair Colorizer 2,但它不区分嵌套层级,容易造成视觉混乱。
真正容易被忽略的是:Rainbow Brackets 对 TypeScript 的泛型括号 <t></t> 完全不处理——那根本不是括号,是尖括号组成的类型参数语法,连 rainbowBrackets.languages 都无法覆盖。











