todoreview是唯一能真正识别并结构化扫描todo/fixme的插件,因其支持项目级语义识别、注释上下文解析、待办列表导出及精准跳转,而highlightwords等仅做字符串匹配,无法区分注释与代码中的todo,也不支持跨行注释或作用域感知。

TodoReview 是唯一能真正识别并结构化扫描 TODO/FIXME 的插件,单靠 HighlightWords 或 WordHighlight 无法做到项目级语义识别——它们只匹配文本,不理解注释上下文。
为什么不能用 HighlightWords 高亮 TODO?
HighlightWords 插件本质是“字符串匹配器”,它会把 TODO 当成普通单词处理:
- 不区分是否在注释里(// TODO 和 const TODO = true 一样被标红)
- 不支持跨行注释(如 Python 的 """TODO: xxx""")
- 无法导出待办列表、跳转到源码位置、按文件/优先级排序
- 加了 TODO 正则也救不了——它不解析语法作用域,匹配结果不可靠
TodoReview 安装与基础配置
安装后需手动配置才能识别自定义标记(比如团队用的 REVIEW 或 HACK):
- 按 Ctrl+Shift+P → 输入 Package Control: Install Package → 搜索并安装 TodoReview
- 安装完重启 Sublime(或关闭所有文件再重开)
- 打开 Preferences → Package Settings → TodoReview → Settings
- 在右侧用户设置中添加或修改 patterns 字段:
{
"patterns": [
"TODO",
"FIXME",
"CHANGED",
"REVIEW",
"HACK"
]
}
保存后,按 Ctrl+Shift+P → 输入 TodoReview: Review TODOs 即可生成侧边栏待办面板
高亮颜色怎么改?别动 theme 文件
TodoReview 默认高亮依赖主题对 todo scope 的定义,不是硬编码颜色:
- 先确认当前主题是否支持:选中一个 TODO → 右键 → Developer → Show Scope Name,看输出里是否有 todo
- 如果没有,说明主题没配;不要去改 .tmTheme,而是直接在 TodoReview 设置里加:
{
"highlight_style": "outline",
"highlight_scope": "todo"
}
然后在 Preferences → Color Scheme 里换一个已内置 todo scope 的主题(比如 Monokai Bright 或 Adaptive),比手动修 scheme 文件快得多
常见失效场景和绕过方法
TodoReview 在某些语法下不工作,不是插件坏了,而是作用域没命中:
- .adoc、.md、.rst 等非编程语言文件默认不触发扫描 → 在对应语法设置里(Preferences → Settings – Syntax Specific)加:"todo_review_enabled": true
- 多级子目录未被纳入扫描 → 修改 TodoReview.sublime-settings 中的 folders,明确指定路径:["./src", "./lib"]
- TODO 写在字符串里也被扫出来(比如 log("TODO: fix this"))→ 改 patterns 为正则:"\bTODO\b(?=\s*:)",利用冒号约束语义
真正防遗漏的关键不在“高亮多显眼”,而在“是否被纳入统一管理”。TodoReview 能导出 HTML、跳转定位、按文件归类,这些才是避免漏掉的底层能力。颜色只是表象,scope 和 patterns 才是开关。











