VSCode中单词选中后未高亮,首要检查editor.selectionHighlight是否启用;若启用仍无效,需确认语言模式正确、主题未将wordHighlightStrongBackground设为transparent,并区分查找面板与编辑器高亮机制。

选中单词后没高亮其他位置?先看 editor.selectionHighlight
VSCode 默认开启全文档同词高亮,但很多人双击一个变量名(比如 userId)后,其他地方完全没反应——根本原因是 editor.selectionHighlight 被关掉了。它不是“可有可无”的选项,而是整个机制的总开关。
检查方式:Ctrl+, 打开设置,搜 selection highlight,确认复选框已勾选;或者直接在 settings.json 里确保有这一行:"editor.selectionHighlight": true
- 这个配置只控制“你手动选中后”的匹配高亮,和语言服务无关,纯文本文件也能用
- 如果右下角语言标识是
Plain Text,高亮可能失效——点它,手动切到JavaScript或对应语言模式 - 别和
editor.occurrencesHighlight混:后者是悬停时触发的引用高亮,关掉反而能减少卡顿
editor.wordHighlightStrongBackground 颜色不生效?主题把它设成 transparent 了
很多主流主题(如 One Dark Pro、Nord)会把 editor.wordHighlightStrongBackground 设为 transparent,导致你明明选中了 data,页面却一片安静。这不是 bug,是主题主动压制。
必须在 settings.json 中显式覆盖这两项:"editor.wordHighlightBackground": "#5a5a5a33","editor.wordHighlightStrongBackground": "#5a5a5a55"
- 颜色值末尾的
33和55是十六进制 alpha,太实(如#ff0000)会盖住括号、引号;太虚(如#00000005)根本看不见 -
editor.wordHighlightBackground控制非焦点匹配项(比如光标停在变量上但未选中),editor.wordHighlightStrongBackground才管你当前选中的那个词的所有匹配位置 - 别碰
editor.selectionHighlightBackground——它只影响“光标悬停时”的语义高亮,和你双击选中完全无关
查找面板里的高亮和编辑器里的高亮是两套系统
按 Ctrl+F 输入关键词后看到的黄色背景,和你双击选中变量后的高亮,视觉上相似,但底层互不干扰。前者走的是 workbench.colorCustomizations,后者走的是 editor.*Highlight* 系列配置。
想统一或调整搜索高亮颜色,必须这样写:"workbench.colorCustomizations": {"editor.findMatchBackground": "#ffcc0033","editor.findMatchHighlightBackground": "#ff990055"}
-
editor.findMatchBackground是当前光标所在匹配项的背景色 -
editor.findMatchHighlightBackground是其他非当前匹配项的背景色 - 它们只在 Ctrl+F 激活状态下生效,Esc 一键清除;而
editor.selectionHighlight是编辑态持续存在的 - 如果想彻底禁用搜索高亮,直接关掉
editor.find.highlightFindMatches,设为false
需要强制高亮关键字或字符串字面量?highlight-words 插件是唯一解
VSCode 原生高亮只作用于语言服务识别的标识符(比如变量、函数名),const、"error" 这类关键字或字符串内容默认不参与匹配。想让任意文本(包括注释里的 TODO、日志里的 ERROR)都高亮,必须用插件。
推荐 highlight-words,它不依赖语言模式,支持全词匹配、忽略大小写、正则,并允许多色叠加:
- 安装后必须配置
settings.json,仅安装插件不生效 -
"highlightwords.defaultMode": 1开启全词匹配,避免a高亮apple里的 a -
"highlightwords.box": {"dark": true}加边框,视觉更清晰 - 快捷键绑定:Ctrl+Shift+P → 输入
Highlight Toggle Current→ 绑定为 F8(Source Insight 用户友好)
复杂点在于:原生高亮和插件高亮共存时,颜色层级容易打架;若发现高亮错位或闪烁,优先关掉 editor.occurrencesHighlight 和插件的自动模式,用 F8 显式触发更可控。


















