todo-show插件默认仅匹配todo、fixme、hack、xxx开头的全大写注释,需检查正则规则、文件保存状态、项目根目录设置及gitignore影响;支持自定义关键词和正则,须保留两个捕获组;刷新依赖手动触发,团队应统一配置避免差异。

Atom 编辑器本身不内置 TODO 管理功能,todo-show 插件是目前最稳定、可配置性最强的方案,但默认行为容易让人误以为“没生效”——问题通常出在正则匹配规则或项目根目录识别上。
为什么 todo-show 扫不出你的 TODO 注释
插件默认只扫描以 TODO、FIXME、HACK 开头的全大写注释(如 // TODO: 修复空指针),不匹配 // todo、/* Todo */ 或带空格/标点的变体。
- 检查你写的标记是否符合默认正则:
/(TODO|FIXME|HACK|XXX):?\s*(.*)$/i—— 注意末尾的i标志让它忽略大小写,但开头必须是这四个词之一 - 确保文件已保存(未保存的缓冲区不会被扫描)
- 确认当前打开的是项目根目录(右下角显示路径),否则插件可能只扫描单个文件而非整个工作区
- 如果用了
gitignore,插件默认跳过被忽略的路径,可在设置里关掉Ignore VCS Ignored Paths
自定义 TODO 关键词和匹配规则
想支持 // @review 或 ## BUG?直接改插件的 Custom Pattern 配置项,不用写代码。
- 打开 Atom 设置 → Packages → 搜索
todo-show→ 点 Settings - 找到
Custom Pattern输入框,填入正则,例如:/(@review|## BUG|// NOTE):?\s*(.*)$/ - 注意:正则中必须保留两个捕获组 —— 第一个匹配关键词(用于分类),第二个匹配描述内容;否则面板里看不到文字
- 若想同时兼容大小写和常见拼写,可用:
/(TODO|todo|Todo|FIXME|fixme|NOTE|note):\s*(.*)$/
todo-show 面板刷新不及时或路径错乱
这不是 Bug,而是插件为性能做的取舍:它不会监听文件实时变更,只在手动触发或切换标签页时重新扫描。
- 快捷键
ctrl-alt-t(Windows/Linux)或cmd-alt-t(macOS)强制刷新整个工作区 - 右键某行调用
Todo: Toggle Todo只刷新当前文件(适合临时增删) - 如果点击列表项打开错误文件,大概率是项目没设根目录 —— 在任意文件上右键 →
Open in Project,或拖整个文件夹到 Atom 启动窗口 - 禁用
Use Git Branch Filter(如果不需要按分支过滤),避免因 git 状态异常导致扫描中断
真正麻烦的不是配置,而是团队协作时每个人 regex 不一致,导致同一份代码在不同人机器上显示不同的 TODO 列表。上线前最好把 Custom Pattern 字符串写进项目 README 里,或者用 .todo-show.json 文件统一管理(插件支持该配置文件,优先级高于 UI 设置)。










