必须开启editor.bracketPairColorization.enabled和editor.matchBrackets:"always",并配置independentColors及对应颜色值,才能实现多层嵌套括号的精准配对高亮与颜色区分。

必须开启 editor.bracketPairColorization.enabled,否则无论怎么调颜色、换主题、装插件,大括号都不会有配对高亮效果。
为什么光标停在{上,另一边}没反应?
最常见原因是 editor.matchBrackets 被设成了 false 或 "near"。这个设置控制“是否触发匹配高亮”,不是“要不要上色”——它和颜色无关,但决定你能不能一眼看到配对项。
-
"always":光标只要在括号对的任意位置(包括中间、换行后、字符串外的空格里),都会高亮两端。JSX、Python 推导式、Vue 模板里强烈推荐这个值 -
true:只在光标紧贴{或}字符时才高亮,中间多一个空格就失效 -
false:彻底关闭,连基础提示都没有
改法:Ctrl + , → 搜 match brackets → 选 always;或直接往 settings.json 里加:"editor.matchBrackets": "always"
editor.bracketPairColorization.enabled 开了还是没颜色?
开了只是“通电”,不等于“灯亮”。还要确认三件事:
- 右下角语言模式不能是
Plain Text或JSONC(后者默认禁用配对)——点它手动切到JavaScript、TypeScript或对应语言 - 旧插件如
Bracket Pair Colorizer 2或Rainbow Brackets会劫持渲染,导致原生着色被覆盖。建议全部卸载,重启窗口再试 - 主题得支持引导线。比如
Monokai不渲染editor.guides.bracketPairs,换成GitHub Dark或Default Dark+就立刻可见
想让不同嵌套层级的大括号颜色分明,必须开 independentColors
只开 editor.bracketPairColorization.enabled,所有大括号都用同一组循环色(比如三层全是红),根本分不清哪层是哪层。真正起作用的是这个隐藏开关:
-
"editor.bracketPairColorization.independentColors": true—— 必须显式开启 - 配合
workbench.colorCustomizations里的editorBracketHighlight.foreground1到foreground3才能生效 - 第 4 层开始循环复用
foreground1,这是设计行为,不是 bug;超深嵌套时别依赖颜色,靠editor.guides.bracketPairs的垂直线更准
示例配置片段:
"editor.bracketPairColorization.enabled": true,
"editor.bracketPairColorization.independentColors": true,
"workbench.colorCustomizations": {
"editorBracketHighlight.foreground1": "#FF6B6B",
"editorBracketHighlight.foreground2": "#4ECDC4",
"editorBracketHighlight.foreground3": "#FFD93D"
}
中文大括号【】不着色?这不是 bug,是默认不识别
VSCode 原生只识别 ASCII 括号:{}、[]、()、<>。【】、「」、『』等中文标点不在默认配对表里,即使所有设置全开,它们也不会变色、不会响应光标定位。
- 若真需要支持,只能禁用原生功能(
"editor.bracketPairColorization.enabled": false),再用Bracket Pair Colorizer 2配置colorizedBracketPairs手动添加 - 但要注意:插件无法感知语法结构,中文括号在字符串或注释里也会被错误高亮——这是权衡
- 更轻量的替代方案是启用
editor.matchBrackets: "always",至少能粗略跳转,不依赖颜色
复杂点在于:颜色、引导线、匹配高亮、语言服务、插件控制权,这五者必须协同才能让大括号“既看得见,又分得清,还点得准”。少一环,就只剩一个孤零零的 { 在那儿发呆。


















