vs code 1.68+ 原生支持括号配对高亮和缩进参考线,无需插件;括号失效多因语言模式错误或设置未启用,缩进线不显常因混合缩进或语言扩展缺失,indent-rainbow 是唯一推荐补充插件。

VS Code 1.68+ 自带括号配对高亮和缩进参考线,无需插件就能满足绝大多数需求;装 Bracket Pair Colorizer 2 或类似旧扩展反而会冲突、导致颜色错乱或光标跳动。
括号高亮失效:先查 editor.bracketPairColorization.enabled 和语言模式
括号没变色、点 { 高亮了错误的 },甚至完全没反应——大概率不是插件问题,而是 VS Code 没把当前文件当“代码”处理。
- 看右下角状态栏:显示的是
JavaScript还是Plain Text?点它手动切到正确语言模式 - 按
Ctrl+,打开设置,搜bracket pair colorization,确认editor.bracketPairColorization.enabled为true - 禁用所有括号着色类插件(如
bracket-pair-colorizer-2),重启 VS Code 再测试——原生功能启动更快、不卡顿 - 如果仍异常,检查是否被 Prettier、ESLint 等格式化插件临时禁用(部分版本会在格式化中压低高亮优先级)
缩进参考线不显示或断续:重点看 editor.guides.indentation 和缩进一致性
缩进线只在有实际缩进层级的位置画,不会出现在空行、注释块、字符串或模板字面量内部——这不是 bug,是设计行为。
- 确保
editor.guides.indentation和editor.renderIndentGuides都为true(注意:v1.86+ 才支持背景色高亮,旧版只画虚线) - 混合使用空格和 Tab 的文件,VS Code 往往放弃渲染缩进线;统一设为
"editor.insertSpaces": true+"editor.tabSize": 2或4 - YAML、TOML 等缩进敏感语言需安装对应扩展(如
redhat.vscode-yaml),否则编辑器无法识别结构层级 - 不要试图改
editor.indentationRules:它是只读的,由语言扩展提供,用户设置里改不了
想让缩进更醒目?indent-rainbow 是唯一值得装的补充插件
原生缩进线只有虚线或单层背景色,indent-rainbow 能按层级用不同颜色填充缩进区,视觉区分度更高,且和原生括号着色完全正交、无兼容风险。
- 安装后默认生效,无需额外配置;支持自定义颜色、触发深度等(通过
indentRainbow.colors修改) - 不修改括号逻辑,不干扰
editor.bracketPairColorization,适合搭配原生功能一起用 - 比老式
Bracket Pair Colorizer更轻量,CPU 占用低,大文件下也流畅 - 注意:它只作用于缩进区,对括号本身无影响;括号颜色仍由主题或
workbench.colorCustomizations控制
真正容易被忽略的,是语言模式识别失败这个底层前提——一个 .js 文件被当成 JSON 解析,括号高亮就退化成纯字符匹配,缩进线也不会响应 if 块。所有设置都调对了,但文件没被正确归类,效果就全白搭。











