vs code 无法真正自动生成开发任务清单,因其插件仅扫描匹配注释关键词(如 todo、fixme),不具 ai 分析能力;需手动编写规范注释,并配置 todo-tree.general.tags 才能识别自定义标签,配合 eslint 和 ci 检查防止误提交。

VS Code 本身不提供“自动生成开发任务清单”的内置功能,但通过组合 TODO Tree、TODO Highlight 和少量配置,可以实现接近自动化的效果——前提是你的代码里已经写了规范的注释标记(如 // TODO、/* FIXME */)。
为什么不能真正“自动”生成任务?
所谓“自动生成”,其实是对已有注释的提取和结构化展示。VS Code 插件没有 AI 理解能力,也不会主动分析代码逻辑缺陷或缺失功能并补上 TODO。它只做两件事:扫描文本、匹配关键词、聚合显示。
-
TODO Tree读取整个工作区文件,按行提取含关键词的注释,并在侧边栏树形展示 -
TODO Highlight负责在编辑器内高亮这些行,避免遗漏 - 两者都不修改源码,也不添加新注释——你得先写好
// TODO: 实现登录校验
如何让 TODO Tree 显示你自定义的任务标签?
默认只识别 TODO、FIXME、BUG,但项目中常需要 REFACTOR、OPTIMIZE、TEST 等更细粒度分类。必须手动配置 todo-tree.general.tags 才能生效。
- 打开命令面板(
Ctrl+Shift+P),输入Preferences: Open Settings (JSON) - 在
settings.json中添加:
{
"todo-tree.general.tags": ["TODO", "FIXME", "BUG", "REFACTOR", "TEST", "HACK"]
}
注意:todo-tree 不读取 todohighlight.keywords 的配置,二者配置独立;改完需重启侧边栏或重载窗口
怎么避免 TODO 被误提进生产环境?
最常见问题是开发者忘记清理临时注释,导致 // TODO: 临时绕过权限检查 跟着代码一起上线。光靠插件无法拦截,得靠流程加固:
- 启用 ESLint 规则
no-warning-comments,在保存时直接报错(需配合.eslintrc.js配置) - CI 流程中加 shell 脚本检查:
git diff HEAD -- '*.js' | grep -i 'TODO\|FIXME',有匹配则中断构建 -
TODO Tree提供右键菜单 “Copy as Markdown”,可一键导出当前清单到tasks.md,作为 PR 描述的一部分人工核对
真正难的不是“生成清单”,而是让团队养成写清晰、可追踪、带上下文的注释习惯——比如 // TODO(@alice): 2026-Q3 支持 OAuth2.1,见 RFC9457 比 // TODO 有用十倍。











