vscode高亮需手动配置settings.json才生效:highlight-words支持跨文件多色查词但须设colors/defaultmode/box;color highlight仅可视化颜色字面量且依赖语言模式;indentrainbow为缩进线染色需指定语言和缩进单位;tokencolorcustomizations为原生语法元素配色须通过开发者工具确认scope。

VSCode 默认已有基础语法高亮,但“添加插件”这件事本身不等于“自动生效”——多数高亮插件必须手动配置 settings.json 才能真正起作用,光装不上配置,等于没装。
highlight-words 插件:按词高亮当前选中内容
这是唯一适合「手动触发、跨文件、多色叠加」场景的插件,比如查 uart_init 在整个工程里所有出现位置,或临时标出所有 printf 调用。
- 安装后必须编辑
settings.json,UI 设置面板里改无效 -
highlightwords.colors至少填 2 组颜色,否则高亮不显示(插件有校验) -
highlightwords.defaultMode推荐设为3(全词 + 忽略大小写),避免map匹配到flatMap -
highlightwords.box中dark: false是关键:深色主题下边框设为true会和背景融合,看起来像没高亮 - 快捷键需手动绑定:
Ctrl+Shift+H(不是默认启用),且容易被Prettier或Auto Rename Tag抢占
Color Highlight 插件:专用于颜色值可视化
它只识别 #ff6b6b、rgb(255,107,107)、blue 这类颜色字面量,渲染成小色块,不是通用文本高亮工具。
- 语言模式必须正确:HTML 文件里
style标签内有效,但纯plaintext模式下不工作 - 若色块不显示,先检查右下角语言标识是否为
CSS/SCSS/HTML,不是就点开手动切 -
colorHighlight.showColorsInComment设为true才能高亮注释里的颜色(如// #3498db) - 远程开发(SSH/Dev Container)需在远程工作区的
.vscode/settings.json中重复配置
editor.tokenColorCustomizations:自定义语法元素颜色
这是 VSCode 原生能力,用来改 keyword、string、comment 等 token 的颜色,不是装插件,而是直接写 JSON 配置。
- 必须通过
Inspect Editor Tokens(Help → Toggle Developer Tools → Elements → 找 editor 元素 → 右键 Inspect)确认当前光标处的scope名,比如support.function.console - 配置写在
"editor.tokenColorCustomizations": { "textMateRules": [...] }里,不是平级字段 - 主题切换后可能覆盖你的自定义,建议搭配
Dark+或Light+这类官方主题使用 - 改错 scope 名或拼错字段名(比如写成
tokenColorCustomization少个s),配置就静默失效
indentRainbow:给缩进线染色,不是代码块背景
它不给 if 块或函数体加背景色,而是为每级缩进画一条垂直色带——视觉上像彩虹,但本质是线,不是块。
-
indentRainbow.languages必须显式列出支持的语言,比如["c", "cpp", "python"],不能写["*"] -
indentRainbow.indentUnit必须和你项目实际缩进一致(editor.tabSize是 4,这里就得填4) - 颜色推荐带透明度,如
"#ff6b6b33",纯色会压过变量/字符串等语法高亮 - 空行、注释、字符串内部缩进不会上色——这是设计行为,不是 bug
最容易被忽略的是:几乎所有高亮相关插件都依赖 settings.json 显式配置,而不是装完就完事;而且不同插件解决的是完全不同的问题——highlight-words 是查词,Color Highlight 是看颜色,indentRainbow 是看缩进结构,混用或误配会导致功能看似“失效”。











