括号配对高亮不显示,90% 是 editor.bracketpaircolorization.enabled 被设为 false 或语言模式识别失败;需确保该设置为 true、editor.matchbrackets 设为 "always",并确认右下角语言模式正确,禁用冲突插件,检查主题是否支持引导线。

括号配对高亮不显示,90% 是 editor.bracketPairColorization.enabled 被设为 false,或语言模式识别失败——不是插件没装,是原生功能根本没“通电”。
确认 editor.bracketPairColorization.enabled 已启用
VSCode 1.60+ 内置该功能,但默认开启 ≠ 实际生效。它常被工作区配置、远程开发设置或旧版插件覆盖。
- 按
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS),搜索bracket pair colorization - 确保
Editor › Bracket Pair Colorization: Enabled处于勾选状态(对应 JSON 配置项为"editor.bracketPairColorization.enabled": true) - 若在 Settings UI 中看不到该选项,直接打开
settings.json(Ctrl + Shift + P→Preferences: Open Settings (JSON)),手动添加这一行 - 注意:该开关必须为
true;设为"always"或其他值会报错,仅接受布尔值
editor.matchBrackets 设为 "always" 才真正可用
editor.matchBrackets 控制「光标在哪时触发高亮」,和着色无关,但决定你能不能看到匹配端。默认的 true 只在光标紧贴括号字符(如 { 或 ))时才亮,中间有空格、换行、或光标停在括号内部就失效。
- 搜索
match brackets,将选项设为always(不是true) - 等效 JSON 配置:
"editor.matchBrackets": "always" - 这个设置对 JSX、Python 推导式、JSON 数组嵌套等场景至关重要——否则你永远看不到中间那层的高亮
- 它和
editor.bracketPairColorization.enabled独立运行,建议两者同时开启
检查右下角 language mode 是否正确
括号配对依赖语言服务提供的 bracketPairs 定义。如果右下角显示的是 Plain Text、JSONC(非 JSON)、YAML 或未识别后缀,括号可能完全不被解析。
- 点击右下角语言标识(如
Plain Text),从列表中选择对应语言(如JavaScript、TypeScript React、Python) - 对
.vue、.astro文件,需确保 Volar / Astro 插件已启用,否则<script></script>区域括号不会参与配对 - 某些自定义模板(如
.erb、.ejs)需手动关联语言模式,否则一律当纯文本处理
别让插件或主题干扰原生功能
Bracket Pair Colorizer 2、Rainbow Brackets 等旧插件与原生功能冲突,它们不负责找括号,只负责上色——一旦 editor.bracketPairColorization.enabled 关闭,插件就彻底失能。
- 禁用所有括号类插件,重启窗口后再测试
- 某些主题(如 Monokai、Nord)不渲染垂直引导线或弱化背景色,临时切换到
Default Dark+或GitHub Dark验证是否主题导致 - 颜色自定义只需改
workbench.colorCustomizations中的editorBracketHighlight.foreground1–3;别碰已废弃的background1字段 - 引导线由
editor.guides.bracketPairs控制,设为active或both,但前提是主题支持该特性
最易被忽略的一点:嵌套超过 3 层时,颜色会循环复用 foreground1→foreground2→foreground3→foreground1……这不是 bug,是设计如此;想靠颜色区分 6 层以上结构,得靠引导线或折叠符号辅助判断。











