todo tree 插件需配置四组关键项才能正常工作:1. todo-tree.tree.showtags 设为 true 启用树视图;2. 自定义 todo-tree.general.tags 覆盖默认标签并支持大小写与中文;3. 设置 todo-tree.filtering.excludeglobs 排除 node_modules 等目录提升性能;4. 调整 todo-tree.regex.regex 正则确保精准跳转。

装完插件侧边栏空着?先检查 todo-tree.tree.showTags
这是最常被忽略的配置项。插件安装后默认值是 false,导致树状视图不显示任何内容,用户误以为“没生效”或“扫描失败”。必须手动设为 true 才能触发渲染。
- 打开
settings.json(快捷键Ctrl+Shift+P→ 输入Preferences: Open Settings (JSON)) - 添加这一行:
"todo-tree.tree.showTags": true - 保存后点击活动栏的树形图标,或执行命令
Todo Tree: Toggle Tree
todo-tree.general.tags 不扩展就漏掉 90% 的 TODO
默认只识别 ["TODO", "FIXME", "BUG"] 三个全大写标签,但实际项目中常见 // todo:、/* NOTE: */、// HACK(john): 等写法。大小写混用、带括号、中文冒号都会被跳过。
- 务必覆盖默认值,例如:
"todo-tree.general.tags": ["TODO","todo","FIXME","fixme","NOTE","note","HACK","hack","REVIEW","review","OPTIMIZE","optimize"] - 如果项目含中文注释(如
// 待办:),不能依赖$TAGS变量,得手写正则:"(TODO|todo|FIXME|fixme|待办|修复)" - 配合
todo-tree.regex.regexCaseSensitive设为false,否则小写标签全失效
扫描卡死或响应慢?todo-tree.filtering.excludeGlobs 必须配
不加排除规则时,Todo Tree 默认扫描整个工作区,包括 node_modules、dist、.git、build 等目录,10 万行项目首次扫描可能卡住 20 秒以上,甚至触发 VSCode 的无响应警告。
- 在
settings.json中添加:"todo-tree.filtering.excludeGlobs": ["**/node_modules/**", "**/dist/**", "**/build/**", "**/.git/**", "**/coverage/**"] - Vue/TSX 项目额外加:
"**/src/**/*.d.ts",避免类型声明文件干扰 - 修改后无需重启 VSCode,但首次重扫会重新索引已打开文件
跳转错行、光标停在冒号前?改 todo-tree.regex.regex
默认正则不捕获冒号后内容,导致 // TODO: 实现分页 跳转时只定位到 : 前面的空白处,无法看到上下文,编辑效率归零。
- 推荐正则(兼容多数格式):
"((//|#|/\*|\*/|











