Highlight插件配正则可5分钟生效,不重启、不改语法文件、不依赖主题;Find All仅临时标记,无语义scope,无法联动主题或被TodoReview复用。

直接装 Highlight 插件配正则,5 分钟内生效,不重启、不改语法文件、不依赖主题颜色定义——这是目前最稳的路径。
为什么不能只靠 Find All 高亮 TODO?
Find All 只是临时界面层标记,关掉查找框就消失;它不给文本打上 comment.todo 这类 scope,所以无法和主题联动,也不能被其他插件(比如 TodoReview)复用。真正“高亮”意味着让编辑器把 TODO 当作一个有语义的语法单元来对待,而不是单纯视觉染色。
-
scope必须设为comment,否则会误匹配字符串里的"TODO"字面量 - 正则里
要写成\b(JSON 字符串需双反斜杠转义) -
style推荐用fill,比underline更醒目、不易被注释灰度淹没
Highlight 插件配置怎么写才不出错?
打开 Preferences → Package Settings → Highlight → Settings - User,填入以下内容:
{
"highlights": [
{
"name": "todo_fixme",
"scope": "comment",
"regex": "\b(TODO|FIXME)\b",
"style": "fill",
"color": "hsl(48, 100%, 85%)"
}
]
}
关键点:
- 别漏掉外层
highlights数组,不是直接写对象 -
regex中的括号必须是英文半角,(TODO|FIXME)不是[TODO|FIXME] - 如果想加
NOTE或BUG,改成"\b(TODO|FIXME|NOTE|BUG)\b"即可 - 颜色值用
hsl()比#fff更易调明暗,避免在深色主题下看不清
TodoReview 扫不到 .vue/.ts 里的 TODO 怎么办?
TodoReview 默认只扫 *.js、*.py 等少数后缀,.vue 和 .ts 不在默认列表里,它根本不会读这些文件。
- 进
Preferences → Package Settings → TodoReview → Settings - 在右侧用户设置中补全
"file_extensions": ["*.js", "*.ts", "*.vue", "*.jsx"] - 注意写法:
.vue无效,必须是*.vue;空数组或删掉原项会导致 JS/HTML 也扫不到 - 如果项目含
node_modules,顺手加"folder_exclude_patterns": ["node_modules"],否则扫描卡顿
容易被忽略的是:即使 TodoReview 扫到了,它默认也不负责高亮渲染——它只生成 keyword.other.todos 这类 scope,最终显不显色,取决于你当前 color scheme 是否定义了该 scope 的颜色规则。多数轻量主题没定义,所以你得要么换主题(如 Monokai),要么老实用 Highlight 插件覆盖。人眼要的不是 scope 正确,是一眼看见。










