Sublime Text 默认不识别 TODO/FIXME 为独立语义单元,需 TodoReview 插件配合 .todoconfig 文件及正则 patterns 配置实现项目级扫描与鲁棒匹配,再通过 Highlight 插件绑定作用域实现持久高亮。

Sublime Text 默认不给 TODO 和 FIXME 上色,你看到的灰色文字只是普通注释颜色——不是没高亮,是根本没被识别为独立语义单元。真要“防遗漏”,得靠插件+配置双驱动,单靠查找或临时高亮没用。
TodoReview 插件为何装了却没反应?
最常见原因是:没以项目方式打开文件夹,且缺 .todoconfig 文件。
- 必须通过 File → Open Folder… 打开整个项目根目录;拖入单个文件或用 “Open File” 打开,插件完全不扫描
- 项目根目录下必须存在空文件
.todoconfig(注意开头是点,无后缀),否则静默失效 - 命令面板搜不到
TodoReview: Show?先确认这两项,再查 Package Control 是否已装好
为什么改了 keywords 还是不匹配 // todo: 或 # FIXME?
因为默认 "keywords": ["TODO", "FIXME"] 只匹配独立单词,遇到冒号、空格、中文标点就断掉。
- 改用
patterns正则更可靠,例如:{"patterns": {"todo":"(?i)TODO[::]\s*", "fixme":"(?i)FIXME[::]\s*"}, "pattern_names": ["todo","fixme"]} -
(?i)忽略大小写,[::]同时兼容英文冒号和中文顿号,\s*吃掉后续空白 - 别设
case_sensitive: true,除非团队强制全大写;小写todo在 Markdown 或多语言注释里很常见
高亮颜色怎么出来?TodoReview 本身不管上色
TodoReview 只负责扫描和列表,不控制颜色。灰色 TODO 是因为作用域仍是 comment,没提升成 keyword.other.todo 这类可配色 scope。
- 最快方案:装
Highlight插件,在Preferences → Package Settings → Highlight → Settings - User里加规则 - 示例配置:
{"highlights": [{"name":"todo_fixme","scope":"comment","regex":"\b(TODO|FIXME)\b","style":"fill","color":"hsl(45, 100%, 70%)"}]} - 别指望
Find All临时高亮——它不持久、不跨文件、不联动跳转,漏掉一个就可能上线前才发现
真正防遗漏的关键不在“显示得多醒目”,而在“是否被纳入项目级扫描范围+是否支持正则鲁棒匹配+是否绑定到可复用的作用域”。三者缺一,高亮就是假动作。

















