TODO 扫描器
扫描指定目录中的 TODO/FIXME/HACK/XXX/NOTE/OPTIMIZE 注释,生成结构化报告。
用法
直接告诉我要扫描哪个目录,或者使用 /todo-scan [路径]。
支持格式
识别以下注释标签(不区分大小写):
| 标签 | 含义 |
|---|---|
TODO |
待办事项 |
FIXME |
需要修复的问题 |
HACK |
临时方案/代码异味 |
XXX |
危险/需要关注 |
NOTE |
备注说明 |
OPTIMIZE |
需要优化 |
支持优先级标记:TODO[high]、FIXME[low]、HACK[medium] 等
支持语言:JavaScript/TypeScript (//, /* */), Python (#), Go (//), Rust (//, /* */), Java (//, /* */), HTML (<!-- -->), CSS (/* */), Shell (#), SQL (--, /* */), YAML (#), C/C++ (//, /* */), Swift (//, /* */), Kotlin (//, /* */)
报告格式
报告按以下方式组织:
- 摘要 — 总数统计、各标签分布、优先级分布
- 按文件分组 — 每个文件中的待办事项清单
- 按标签分组 — 每种标签的汇总
- 按优先级分组 — high/medium/low 的分布
过滤选项
- 指定扫描路径(默认当前项目)
- 排除目录(默认
node_modules,.git,dist,build,.next,venv) - 只扫特定标签(如只看 FIXME)
- 只扫指定后缀(如只看
.py文件)
行为
- 递归扫描目录
- 自动跳过二进制文件和常见忽略目录
- 结果以 Markdown 表格展示
- 列出每个匹配项的文件路径、行号、标签、优先级和内容
- 统计总数
实现步骤
- 接收用户指定的目录或使用当前工作目录
- 递归查找所有文本文件(跳过 node_modules/.git/dist/build 等)
- 对每个文件,用正则匹配注释标签
- 提取标签类型、优先级(如果有)、注释内容
- 汇总并按分类输出报告
- 如果有 FIXME 或 high 优先级项,额外高亮提醒