VSCode 的 Outline 视图不显示 TODO,因其仅解析语言符号结构而不扫描注释;TODO Tree 和 Todo+ 是专用插件,分别提供轻量树状视图和带状态管理的进阶面板。

VSCode 本身不支持在 Outline 视图中直接显示 TODO 列表 —— 这是常见误解。真正能“快速打开所有 TODO 任务列表”的,只有 TODO Tree 或 Todo+ 这类专用插件提供的独立侧边栏视图,不是 Outline。
为什么 Outline 里看不到 TODO?
Outline 视图只解析语言服务器提供的符号结构(函数、类、变量等),它不扫描注释内容。哪怕你写 // TODO: fix this,Outline 也完全无视 —— 这不是 bug,是设计如此。官方从未实现注释聚合到 Outline 的能力,所有声称“设置后 Outline 就能显示 TODO”的教程,要么混淆了插件视图,要么配置无效。
TODO Tree:最轻量、开箱即用的全局 TODO 视图
它不依赖语言服务,纯文本扫描,启动快、响应稳,适合绝大多数项目。
- 安装插件后,按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入TODO Tree: Toggle Tree即可唤出侧边树状列表 - 默认自动扫描整个工作区,但若没立刻显示,右键树空白处选
Refresh - 快捷键
Ctrl+Shift+T(可自定义)能一键聚焦该视图,比反复调命令面板更快 - 如果项目有
node_modules或dist,务必在settings.json中配todo-tree.general.excludeGlobs,否则首次扫描卡顿明显
Todo+:带状态管理、归档和颜色标记的进阶方案
如果你需要区分 REVIEW、OPTIMIZE、DONE,或想点击打勾自动归档,Todo+ 比 TODO Tree 更合适。
- 装完插件后,用
Ctrl+Shift+P运行Todo+: Toggle Panel打开面板 - 首次使用建议运行
Todo+: Edit Tags,在弹出的 JSON 中定义自己的标签,例如:{"name": "REVIEW", "color": "#FFA500", "icon": "eye"} - 面板右上角有
Show Completed开关,勾选后能看到已归档任务(含时间戳),适合复盘 - 注意:它的扫描逻辑更重,大型项目首次加载略慢;若只想要“看一眼所有 TODO”,
TODO Tree更干脆
真正容易被忽略的一点:无论用哪个插件,// TODO: 和 //TODO(冒号前无空格)在正则匹配中行为不同。默认配置通常要求空格或标点分隔,写成 //TODO 可能漏掉 —— 建议统一用 // TODO: 格式,省去调正则的麻烦。


















