Highlight插件配正则可实现跨文件、持久化、主题联动的TODO高亮;Find All仅临时标记且不持久;需正确配置scope、regex转义、color等参数,并确保文件语法类型识别准确。

直接装 Highlight 插件配正则,5 分钟搞定,不用重启、不挑文件类型、颜色立刻可见。
为什么 Find All 不能算“高亮”
按 Ctrl+F 输入 (TODO|FIXME) 再点 Find All,只是临时界面标记——关掉查找框就消失,不跨文件,也不和主题联动。它没给文本打上任何 scope,所以换主题、开新文件、切标签页,高亮全丢。真正能“持久高亮”的,必须让 Sublime 把 TODO 当作一个语法成分来识别。
Highlight 插件配置要点
装好插件后,打开 Preferences → Package Settings → Highlight → Settings - User,填入以下内容:
{
"highlights": [
{
"name": "todo_comment",
"scope": "comment",
"regex": "\b(TODO|FIXME)\b",
"style": "fill",
"color": "hsl(48, 100%, 85%)"
}
]
}
-
scope必须设为comment:否则会误中字符串里的"TODO"或变量名TODO_LIST -
regex中的要写成\b:JSON 字符串需双反斜杠转义,单写会解析失败 -
style推荐用fill:比underline更醒目,尤其在小字号或高缩放下 - 别改
.sublime-color-scheme去配色:Highlight 插件不读 region.* 规则,只认自己配置里的color
常见失效原因排查
配完没反应?先看这几个硬性条件是否满足:
- 光标停在
// TODO上,状态栏没显示regex match→ 正则没命中,检查scope是否真为comment(可用Ctrl+Shift+P → Developer: Show Scope Name验证) -
TODO出现在/* */多行注释里却没高亮 → 默认scope可能是comment.block,得加一条规则,scope改成comment或显式写comment.block - Vue/TS 文件里不生效 → 不是插件问题,是文件没被识别为代码文件;确认右下角状态栏显示的是
Vue Component或TypeScript,不是Plain Text - 颜色太淡或看不见 → 直接调
color值,比如改成"hsl(0, 100%, 70%)"(红底白字感),别碰主题文件
最常被忽略的一点:Highlight 插件只作用于已加载进编辑器的视图,新打开的文件如果语法未正确识别(比如 .vue 被当成了 Plain Text),scope: comment 根本不成立,正则再准也没用。先确保文件类型对,再调高亮。











