vscode默认不支持跳转todo,需用ctrl+shift+f全局搜索或安装todo tree扩展;git提交前应通过grep命令行检查,避免依赖编辑器插件。

VSCode里默认不跳TODO,得手动开搜索功能
VSCode本身不会把 TODO 当成可跳转的“任务锚点”,它只是普通注释文本。想用快捷键快速定位,必须依赖内置的全局搜索或扩展支持——别指望按 Ctrl+Click 或 F12 直接跳转到 TODO 行。
最轻量、无需装插件的方法是用全局搜索:
-
Ctrl+Shift+F(Windows/Linux)或Cmd+Shift+F(macOS),输入TODO,回车 - 确保右上角“匹配大小写”关闭,否则
todo或Todo会被漏掉 - 搜索结果面板里双击某条结果,直接跳转到对应行
用 workbench.action.terminal.toggleTerminal 无关,别混淆快捷键
有人误以为终端切换快捷键能关联任务标记,其实完全无关。TODO 定位和终端、调试器、侧边栏都没绑定关系。VSCode 的任务系统(tasks.json)只响应 task 命令,不解析注释内容。
真正相关的设置项是:
-
search.useIgnoreFiles:设为false才能在node_modules等忽略目录里搜到TODO(调试第三方库时有用) -
search.quickOpen.includeSymbols:这个关了也无影响,TODO不是符号,别乱调 - 搜索框里点漏斗图标 → 勾选“正则表达式” → 输入
\bTODO\b可排除TODO_LIST这类误匹配
想一键列表化所有TODO?装 Todo Tree 扩展最稳
纯靠搜索每次都要打字,效率低。推荐安装开源扩展 Todo Tree(作者 Gruntfuggly),它把所有 TODO、FIXME、NOTE 自动聚合成侧边树形视图。
装完后关键配置项(在 settings.json 里):
-
"todo-tree.tree.showScanStatus": false—— 关掉扫描提示,减少干扰 -
"todo-tree.general.tags": ["TODO", "FIXME", "HACK"]—— 按需增减关键词,注意大小写敏感 -
"todo-tree.highlights.defaultHighlight": { "type": "text" }—— 避免背景高亮遮挡代码 - 默认快捷键
Ctrl+Shift+T(Windows)打开/关闭树,不是Ctrl+T(那是标签页切换)
Git提交前批量检查TODO遗漏?用 pre-commit + grep 最可靠
团队协作中,TODO 经常变成“永远待办”,上线前需要清理。VSCode界面操作无法自动化,得靠命令行兜底。
简单但有效的做法(Linux/macOS):
git diff --cached | grep -i "TODO\|FIXME"
更严谨的 CI 脚本里建议:
- 用
grep -r --include="*.ts" --include="*.js" "TODO" .全量扫描,但要排除node_modules和dist - CI 中加 exit code 判断:匹配到就
exit 1,阻断带未处理TODO的提交 - 别依赖 VSCode 插件做卡点——编辑器状态不进 Git,只有代码文本才可信
真正麻烦的不是找 TODO,而是区分哪些该留(如接口未联调)、哪些该删(如临时调试注释)。建议统一用 TODO(username): 格式,方便后续 grep 筛选责任人。











