todo-show插件默认仅识别严格格式的//TODO:(冒号后必须有空格),不支持// TODO、// todo等变体,且依赖language-todo提供语法scope才能正常高亮与定位。

为什么 todo-show 扫不出你的 // TODO 注释
插件默认只匹配严格格式的 //TODO:(冒号后必须有空格),不识别 // TODO、// todo、/* FIXME */ 或 //TODO:fix this 这类变体。它依赖 Atom 的 find-and-replace 底层逻辑,且默认 case_sensitive 为 true。
- 确认注释写法:必须是
//TODO: 修复超时✅,不是// TODO: 修复超时❌,也不是//todo: 修复超时❌ - 文件必须已保存——未保存的缓冲区不会被扫描
- 右下角状态栏需显示正确 grammar(如
JavaScript),不是Plain text;按Ctrl+Shift+P输入Grammar: Show Grammar可验证 - 确保项目已通过
File → Add Project Folder添加,而非仅打开单个文件;插件默认只扫项目根目录
如何让 todo-show 支持自定义关键词和大小写混合
直接改配置比写正则更稳,且无需重启 Atom —— 修改后按 Alt+Shift+T(Win/Linux)或 Cmd+Shift+T(macOS)手动刷新即可生效。
- 打开
Atom → Settings → Packages → todo-show → Settings - 把
Keywords改成:["TODO", "todo", "FIXME", "fixme", "NOTE", "note", "HACK", "hack"] - 取消勾选
Case Sensitive - 可选:在
Custom Pattern填入兼容空格的正则,例如/\/\/\s*(TODO|FIXME|NOTE)\s*:?\s*(.*)$/(注意保留两个捕获组)
点击 todo 列表项跳转错行或打不开文件怎么办
这不是插件 bug,而是路径解析或 grammar scope 失准导致的定位偏移,常见于 Vue/TS 单文件组件或含中文路径的项目。
- 检查项目路径是否含中文或空格——移到纯英文路径(如
/Users/name/my-project/)再试 - 右键文件 →
Open in Project,或拖整个文件夹到 Atom 启动窗口,确保根目录识别正确 - 禁用
Use Git Branch Filter(避免 git 状态异常中断扫描) - 临时禁用
language-babel或atom-beautify,它们可能干扰 scope 解析或重排空行导致行号错位
todo-show 和 language-todo 必须一起装
language-todo 不是可选插件,它是高亮基础;没它,todo-show 能搜出内容但编辑器里不着色、无图标、无法快速视觉识别。
- 安装
language-todo后,// TODO:会自动高亮(注意冒号后空格) - 它不修改文件,只做语法着色,与
language-javascript、language-typescript等共存无冲突 - 若高亮失效,先确认右下角 grammar 显示正确;若显示
Plain text,手动选择对应语言 -
todo-show的搜索能力依赖language-todo提供的 scope 信息,二者配合才完整
真正容易被忽略的是:插件从不持久化任务,也不支持标记完成。你删掉 // TODO 注释,它就消失;加 // DONE 不会被识别,也不会进列表。所有“管理”动作都得靠手动编辑源码。

















