用Highlight插件配正则可5分钟实现持久高亮,需设scope为comment、regex双反斜杠转义、style选fill;Find All仅临时高亮,TodoReview不负责高亮且依赖主题支持。

用Highlight插件配正则,5分钟搞定持久高亮
别折腾语法文件或 color scheme,直接装 Highlight 插件是最稳路径。它不依赖主题、不挑语言、不重启生效,匹配后打上样式(不是 scope),人眼立刻可见。
- 按
Ctrl+Shift+P→ 输入Package Control: Install Package→ 搜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%)"
}
]
}
scope 必须设为 comment,否则会把字符串里的 "TODO" 也高亮;style 选 fill 比 underline 更醒目;颜色值可直接改 hsl 或 #ffcc00。
为什么不能只靠 Find All 或 TodoReview 显示颜色?
Find All 是临时搜索框高亮,关掉就消失,不跨文件、不绑定语法作用域,对调试毫无帮助。
TodoReview 默认只扫描并列表,**不负责高亮**——它生成的 keyword.other.todo scope 能否显示颜色,完全取决于当前主题是否定义了该 scope 的规则。多数轻量主题没定义,所以你看到的还是灰色。
- 换主题(如
Monokai或Ayucia)可能见效,但不可控 - 想让
TodoReview驱动高亮,得确保设置里有"pattern_names": ["todo"]且patterns正则正确,比如"todo": "(?i)\bTODO\b" - 不如直接用
Highlight覆盖,省去 scope 链路和主题适配
正则写错、颜色不显?这几个坑最常踩
高亮没反应,90% 是正则或 scope 设置问题。状态栏不显示 regex match 就说明根本没命中。
-
regex中的在 JSON 里必须写成\b,漏一个反斜杠就失效 - 别用
.*或.匹配空白——Sublime 正则引擎不优化回溯,大文件容易卡死 - 推荐更精准写法:
"^//\s+(TODO|FIXME)\b",限定行首、双斜杠、至少一个空格,防//TODO:和// TODO:漏匹配 - 颜色太淡?别去改
.sublime-color-scheme,Highlight不认region.yellowish这类 scope,直接调color值
需要支持 .vue/.ts 等新后缀?改 TodoReview 的 file_extensions 才管用
如果你同时用 TodoReview 做全局扫描,它默认只扫 *.js、*.py 等老后缀,.vue、.ts、.jsx 全被过滤——不是插件坏了,是它根本没读这些文件。
- 进
Preferences → Package Settings → TodoReview → Settings - 右侧用户设置中补全
"file_extensions",必须用*.vue,写.vue或vue无效 - 示例配置:
{
"file_extensions": ["*.js", "*.ts", "*.vue", "*.jsx", "*.html", "*.py"],
"folder_exclude_patterns": ["node_modules", "dist"]
}
漏掉 folder_exclude_patterns,扫描 node_modules 会明显卡顿;file_extensions 删掉原有项会导致 Python/HTML 也扫不到,要全量覆盖。
真正麻烦的不是配置本身,而是 scope 和正则在不同插件间的语义割裂:一个认 comment,一个认 keyword.other.todo,一个走 color scheme,一个走内联 color。选清楚主次,别混着用。











