wordhighlight 插件不生效的主因是安装路径错误或配置不当:文件夹名须为wordhighlight且置于正确packages目录,重启后需检查word_separators、作用域规则、主题scope定义及避免与原生highlight_word冲突。

WordHighlight 插件装不生效?先确认是不是真没装对
很多人点开命令面板搜 WordHighlight 安装完,双击变量没反应,第一反应是“插件坏了”。其实大概率是安装路径错了——手动下载 ZIP 解压后,文件夹名必须叫 WordHighlight(不能带版本号、下划线或空格),且要放进正确的 Packages 目录:
- macOS:
~/Library/Application Support/Sublime Text/Packages/ - Windows:
%APPDATA%\Sublime Text\Packages\ - Linux:
~/.config/sublime-text/Packages/
装完别急着测试,重启 Sublime;然后随便打开一个 .py 或 .js 文件,双击选中一个完整单词(比如 user_id),看周围是否立刻高亮。没反应?说明根本没加载成功。
双击不触发高亮?检查 word_separators 和作用域规则
默认情况下,user_id 会被 Sublime 当作两个词:user 和 id,因为下划线 _ 在 word_separators 列表里。结果就是你双击 user_id,它只高亮了 user 或 id 单独出现的地方。
解决办法:打开 Preferences → Settings – Syntax Specific(确保当前是你要编辑的语法,比如 Python),在右侧用户设置里加这一行:
"word_separators": "./\()\"'-:,.;~!@#$%^&*|+=[]{}`? "
注意:这个改动会影响整个编辑器的「双击选中逻辑」,不只是高亮。另外,WordHighlight 默认不进字符串和注释,如果想高亮引号里的 "user_id",得在 WordHighlight.sublime-settings 里设:
"word_highlight_in_comments": true-
"ignore_scope_list": [](清空忽略列表)
高亮颜色看不见?不是插件问题,是主题没配 scope
WordHighlight 使用的高亮样式叫 wordhighlight,但它不是直接写死颜色,而是靠当前主题的 .tmTheme 文件定义这个 scope 的前景/背景色。很多暗色主题(比如 Dracula、Monokai)压根没定义 wordhighlight,结果 fallback 成极淡灰色,肉眼几乎不可见。
验证方式:选中一个词 → 右键 → Developer → Show Scope Name,看最后一段是不是 wordhighlight。如果是,就去改主题文件;如果不是,说明插件根本没命中作用域规则。
临时排查可切到 Adaptive 或 Monokai Bright 主题试试,颜色立马明显——这就坐实是主题兼容问题,不是插件或配置错了。
和原生 highlight_word 冲突?别同时开
Sublime 原生就有 highlight_word 设置,光标悬停就高亮全字匹配项。它和 WordHighlight 完全独立,但两者共存时容易互相遮挡或延迟响应,尤其在大文件滚动时。
如果你要的是「双击才高亮」,那就关掉原生功能:
- 打开
Preferences → Settings - 删掉或注释掉
"highlight_word": true - 确保没有
"highlight_line": true(它会盖住单词高亮背景)
WordHighlight 不做大小写或全字控制,纯靠选中触发,逻辑更可控;但代价是它不支持正则、不能跨文件、也不识别作用域——这些限制不是 bug,是设计如此。











