TODO Highlight 不是待办工具,因为它仅高亮代码中的 TODO 注释,不支持创建、排序、状态跟踪或侧边栏统一管理;而 todo-tree 才具备真正待办管理能力。

VS Code 本身不提供待办事项管理功能,TODO Highlight 扩展只是高亮标记,不能创建、排序或跟踪任务状态 —— 它只负责“看见”,不负责“管理”。
为什么 TODO Highlight 不是待办工具
这个扩展的作用非常明确:扫描代码中符合正则模式的注释(如 // TODO、/* FIXME */),然后给它们加背景色或边框。它不会:
- 索引所有待办并统一展示在侧边栏
- 支持勾选完成、设置优先级或截止时间
- 跨文件聚合、过滤或导出任务列表
如果你期望的是类似 Notion 或 Todoist 那样的交互体验,TODO Highlight 无法满足。
如何正确配置 todo-tree 替代方案
TODO Highlight 已停止维护,推荐改用更活跃、功能完整的 todo-tree 扩展。它能真正把注释变成可操作的待办面板:
- 自动在侧边栏显示所有匹配项,支持折叠/展开、双击跳转
- 可自定义关键词(
TODO、HACK、@deprecated)及对应图标和颜色 - 支持正则匹配,例如识别
// TODO(username): 实现缓存逻辑 - 可排除
node_modules、dist等目录,避免噪音
安装后,在 settings.json 中添加如下配置即可生效:
{
"todo-tree.general.tags": [
"TODO",
"FIXME",
"BUG",
"HACK",
"NOTE"
],
"todo-tree.highlights.defaultHighlight": {
"type": "text",
"background": "#ffcc00",
"foreground": "#000000",
"icon": "check"
}
}
TODO 注释写法直接影响识别效果
不是所有写法都能被识别。常见失效原因包括:
- 空格不一致:
//TODO(无空格)默认不匹配,需手动加入"TODO"到todo-tree.general.tags并关闭大小写敏感 - 多行注释未闭合:
/* TODO: 这里要重构 */可识别,但/* TODO: 开始修改...(没闭合)可能中断解析 - 语言语法干扰:TypeScript 中
// TODO在字符串内(const msg = "// TODO";)也会被误标,需用todo-tree.filtering.excludeGlobs排除特定上下文
建议统一使用带空格的标准格式:// TODO: 描述任务,并在团队中约定前缀风格(如 // TODO(@alice):)。
想真管起来?得靠组合策略
仅靠注释高亮永远只是辅助手段。实际项目中可靠的做法是:
- 日常开发用
// TODO快速留痕,配合todo-tree即时查看 - 每日站会前,用 VS Code 的全局搜索
TODO汇总当日待处理项 - 长期任务必须进 issue 跟踪系统(GitHub/GitLab Issues),注释里只放简短引用(如
// TODO(#123): 优化加载逻辑) - CI 流程中加入
grep -r "TODO" --exclude-dir=node_modules .报警,防止遗忘项进入主干
注释里的待办,本质是“临时便签”,不是任务管理系统。越依赖它做正式追踪,后期越难收敛。










