唯一稳定高亮注释中TODO和FIXME的方法是用Highlight插件配正则:设scope为"comment",regex为"(TODO|FIXME)",style为"fill",color用hsl格式,5分钟生效且不依赖主题。

直接用 Highlight 插件配正则,5 分钟内生效,不用重启、不挑文件类型、不依赖主题定义 —— 这是唯一能稳定让 TODO 和 FIXME 在注释里以背景色高亮的路径。
为什么不能只靠 Find All 临时高亮
Find All 只是界面层搜索标记,关掉查找框就消失;它不改变文本的语法 scope,所以无法和主题颜色联动,也不能跨文件持续存在。真正要“高亮”,就得让 Sublime 把 TODO 当作一个有独立 scope 的语法单元来渲染。
装 Highlight 插件并写对配置项
别装一堆插件凑功能,Highlight 一个就够。它支持在指定 scope 下用正则匹配,并直接应用背景填充(style: "fill")。
- 按
Ctrl+Shift+P→ 输入Package Control: Install Package→ 搜Highlight安装 - 打开
Preferences → Package Settings → Highlight → Settings - User - 填入以下配置(注意 JSON 转义):
{
"highlights": [
{
"name": "todo_fixme",
"scope": "comment",
"regex": "\b(TODO|FIXME)\b",
"style": "fill",
"color": "hsl(48, 100%, 85%)"
}
]
}关键点:scope 必须设为 comment,否则会误匹配字符串里的 "TODO_LIST";\b 是双反斜杠,因为 JSON 字符串要先转义一次;style 选 fill 才是背景色,underline 只画线。
别被 TodoReview 带偏方向
TodoReview 默认只扫描并生成任务列表,它打出来的 keyword.other.todo scope 是否显色,完全取决于当前主题有没有定义该 scope 的颜色规则。多数轻量主题压根没写这一条,所以你配了 keywords 也看不到颜色。
- 检查主题是否支持:换用
Monokai或Ayucia,立刻可见效果 - 不想换主题?那就放弃靠
TodoReview驱动高亮的思路 - 非要硬上:得确保设置里有
"pattern_names": ["todo"],且patterns正则写成"todo": "(?i)\bTODO\b",否则 scope 根本不会被打上去
容易被忽略的细节
很多人配完发现 TODO 在 JS 字符串里也被高亮了——那是因为 scope 没锁死在 comment;也有人把 regex 写成 TODO(单反斜杠),JSON 解析失败导致整个配置不加载;还有人把 color 值写成 #ffcc0080,Windows 上 alpha 会被忽略,结果背景变成不透明黄块。最稳的做法就是严格按示例填,改完立刻在 // TODO: fix this 里验证。

















