TodoReview插件安装前必须确认Package Control已真正生效,验证方式为Ctrl+Shift+P输入“Package Control: List Packages”能弹出列表;ST4用户须用控制台执行新安装脚本,网络受限时手动安装并清理残留文件;安装TodoReview后需手动执行“TodoReview: Review Todos”,启用递归扫描和自定义中文正则关键词方可识别中文标记。

TodoReview插件安装前必须确认Package Control已真正生效
很多人卡在“找不到TodoReview”,其实是Package Control根本没跑起来——菜单里有Package Control选项不等于它能联网、能加载插件列表。ST4用户尤其要注意:旧版脚本(比如含http://packagecontrol.io的)在2026年已全部失效,证书和域名都变了。
验证方式只看两个动作:Ctrl+Shift+P → 输入Package Control: List Packages,能弹出列表才算真装好;如果卡住、报错或无响应,别继续往下走,先重装Package Control。
- ST4唯一可靠安装方式是控制台执行:
import urllib.request,os,hashlib; exec(urllib.request.urlopen('https://packagecontrol.io/installation.py').read().decode('utf-8')) - 若网络受限(公司代理/防火墙),改用手动安装:下载
Package Control.sublime-package文件,直接拖进Installed Packages/目录(不是Packages/),重启编辑器 - 装完后检查
Installed Packages/里是否只有1个Package Control.sublime-package文件,多个或带数字后缀的残留文件必须删干净
用Package Control搜索并安装TodoReview
TodoReview不是官方内置插件,也不叫“Todo”或“Task”,全名就是TodoReview,大小写敏感,拼错一个字母就搜不到。
它功能很明确:扫描整个项目里所有// TODO、# FIXME、/* HACK */这类标记,汇总成侧边面板,支持双击跳转到源码行。但默认不识别中文注释(如// 待办),这点后面会提。
- 按
Ctrl+Shift+P(macOS用Cmd+Shift+P)打开命令面板 - 输入
Package Control: Install Package,回车 - 等待几秒(别急着输下一个字),等底部状态栏显示“Loading repository”完成后再输入
TodoReview - 选中后回车,安装成功时左下角会提示“Successfully installed TodoReview”
安装后必须手动触发扫描,且默认不包含子目录
装完不会自动弹窗、不会自动扫描,得手动调一次命令。而且默认只扫当前打开的文件,不是整个文件夹——这是新手最常忽略的点。
- 确保已打开一个项目文件夹(
File → Open Folder...),否则TodoReview连根目录都找不到 - 按
Ctrl+Shift+P→ 输入TodoReview: Review Todos,回车执行 - 首次运行会弹出侧边面板,显示匹配结果;如果为空,检查是否打开了正确目录,以及文件里真有
// TODO这类标准格式标记 - 想让它扫全部子目录?必须改配置:打开
Preferences → Package Settings → TodoReview → Settings – User,加一行"recursive": true
中文TODO标记需额外配置正则,否则完全不识别
TodoReview默认只认英文关键词:TODO、FIXME、HACK、XXX、NOTE。写// 待办或# 修复?它视而不见。
要支持中文,得自己写正则规则,填进设置里。注意语法必须严格,少个括号或转义符就会整个插件失效。
- 打开
Preferences → Package Settings → TodoReview → Settings – User - 粘贴以下内容(保留原有结构,只替换
keywords部分):{ "keywords": [ "(?i)TODO|FIXME|HACK|XXX|NOTE|待办|修复|优化|重构|检查|补充" ] } - 保存后,重新执行
TodoReview: Review Todos命令,中文标记才会出现在列表里 - 正则里的
(?i)表示忽略大小写,所以todo和TODO都能匹配,但中文本身无大小写,不用额外处理
复杂点在于正则嵌套和转义——比如想匹配// TODO(张三)这种带括号的,就得写成TODO\([^)]*\),漏掉反斜杠,插件就静默失败,连错误提示都没有。


















