vscode默认不提供单词级高亮功能,必须安装highlight-words插件并重启才能生效;配置需设highlightwords.defaultmode为1(全词匹配)避免误高亮,且须验证语言模式是否正确激活。

VSCode 默认不提供单词级高亮功能,必须靠插件实现;但装完插件不配置、不重启、不验证语言模式,90% 的人会以为插件“失效”。
highlight-words 插件装完必须重启 VSCode
很多用户反馈 highlight-words 按 Ctrl+Shift+P 找不到命令,或光标停在变量上没反应——根本原因不是配置错,而是没重启。VSCode 扩展加载机制要求新插件在完整重启后才注入全部 API 和快捷键绑定。实测 Windows/macOS/Linux 下均存在该行为,尤其在已打开多个工作区时更明显。
- 安装后立即关闭所有 VSCode 窗口(包括后台进程)
- 重新打开,再用测试代码验证:
int counter = 0;→ 光标放counter上,看是否高亮 - 若仍无效,检查
settings.json中是否误加了多余逗号或引号未闭合
highlightwords.defaultMode 参数决定是否匹配子串
默认配置下高亮 a 会导致 ab、apple 全部被染色,这是最常被吐槽的“误伤”。关键在 highlightwords.defaultMode 取值:
-
0:默认模式,等效于正则/a/g—— 匹配所有出现位置 -
1:全词匹配(/\ba\b/g),推荐用于变量名、宏定义等精确场景 -
2:忽略大小写,适合临时搜索日志关键词 -
3:全词 + 忽略大小写,适合 C/C++ 头文件中混写风格的宏(如MAX_SIZE和max_size)
嵌入式项目里查 HAL_OK 时,务必设为 1,否则 HAL_OK、HAL_ERROR、HAL_BUSY 全部高亮,反而掩盖目标。
Color Highlight 对 JS/TS 字符串内颜色无效?得手动配 pattern
Color Highlight 插件默认只解析 CSS/SCSS 文件里的颜色字面量,JS/TS 中的 const bg = "#4a90e2"; 不会触发预览——这不是 bug,是设计限制。要启用需显式声明语言和捕获规则:
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
- 确认插件已启用:
color-highlight.enable设为true - 编辑
color-highlight.languages,添加javascript和typescript条目 -
pattern必须覆盖单双引号:"\"#[0-9a-fA-F]{6}\"|'#[0-9a-fA-F]{6}'" - 若项目用
#rgb或带 alpha 的#rrggbbaa,把{6}改成{3,8}
注意:pattern 是 JavaScript 正则字符串,必须用双引号包裹整个 pattern 值,且内部引号要转义;漏掉任意一种引号格式,就会漏匹配。
Highlight Matching Tag 在 Vue/JSX 中需确认 language mode
该插件对 HTML 开箱即用,但在 .vue 或 JSX 文件中常“失灵”,本质是 VSCode 没把当前区块识别为 HTML 类型。例如 <template></template> 块可能被当成 plaintext 或 vue 主语言,而非 html 子语言。
- 将光标置于标签内,按
Ctrl+Shift+P输入Change Language Mode - 选择
HTML(不是Vue或Vue HTML)——只有HTML模式才触发插件逻辑 - 若需长期生效,可在
settings.json加:"files.associations": {"*.vue": "vue"},再配合 Volar 设置"volar.ignoreProjectLanguage": false
别指望插件自动感知 Vue 单文件组件结构;它只响应语言模式,不解析 AST。状态栏显示 “HTML” 才算真正激活。
真正麻烦的从来不是插件装不装得上,而是你不知道它在哪一层语言抽象上工作——是词法层(TextMate)、语法层(Language Server),还是 UI 层(Decoration API)。调一个高亮,先问自己:你想高亮的是 token、语义节点,还是纯文本?答错就白配。










