一、为什么又造一个 TODO 插件?

VS Code 生态里 TODO 类插件不少,但我用下来总有些不顺手的地方:

  • 有的只在当前文件里高亮,看不到全局视图;
  • 有的能列全局,但只支持几种语言的注释语法,Python 的 #、SQL 的 --、Lua 的 -- 一概不认;
  • 有的会把字符串字面量里的 "// TODO" 也当成真待办,误报一堆;
  • 还有的配置繁琐,装完得调半天颜色和正则。

Todo Genie 的目标很简单:开箱即用地扫描整个工作区,跨语言识别注释标记,把结果收进一棵能一键跳转的树,并在编辑器里同步高亮。 不需要配置,装上就能用。

📦 Marketplace 搜索 Todo Genie 即可安装,或访问 插件主页

二、它能做什么

打开活动栏(Activity Bar)里的 Todo Genie 视图,插件会在启动时扫描整个工作区,之后随着你编辑、新建、删除文件自动刷新

核心能力一览:

能力 说明
全代码库扫描 扫描每一个文本文件,自动遵循 files.exclude / search.exclude,跳过二进制文件
两种分组方式 按标签(tag)分组,或按文件分组;文件模式会嵌套成文件夹树
颜色编码 每种标签分配一个主题色,树视图与编辑器高亮共用同一套配色
活动栏角标 侧边栏图标上显示 TODO 总数
当前文件过滤 一键把树收窄到当前激活的文件
一键跳转 点击任意条目,直接定位到对应行
反向定位 在编辑器里右键某条 TODO 注释,选中它在树里的节点
右键菜单 复制 TODO 文本 / 位置(path:line);对文件或文件夹执行打开、在资源管理器中显示、复制路径等操作
编辑器内高亮 在源码里给标记上色,并在概览标尺(overview ruler)上打点;可选把高亮延伸到行尾
实时更新 编辑后自动刷新
自定义标签 扫描你自己的标记词

默认扫描的标签是 TODOFIXMEHACKBUGXXXNOTE

广泛的语言支持

不用担心你的项目语言冷门——Todo Genie 覆盖了 60+ 种文件类型的注释语法:

  • C 系(///* */):JavaScript、TypeScript、Go、Rust、Java、C/C++……
  • Hash 系(#):Python、Ruby、Shell、YAML,以及 DockerfileMakefile 这类靠文件名识别的文件;
  • Dash 系(--):SQL、Lua、Haskell;
  • Lisp 系(;)、Vim 脚本(")、TeX(%)等等。

Vue、Svelte 这类单文件组件还会同时识别 HTML 注释和内嵌脚本/样式的注释。遇到没见过的文件类型,也会用最常见的几种注释符兜底,尽量不漏。

更聪明的识别

Todo Genie 在「找得全」之外,也尽量做到「找得准」:

  • 不误报字符串里的假 TODO:像 const s = '// TODO: 这只是一段字符串' 这种写在字符串里的标记,不会被当成真待办;
  • 正文干净利落:块注释、HTML 注释末尾的 */--> 等闭合符会被自动剥掉,不会拖着尾巴;
  • 对中文友好:标签后面跟中文全角冒号 也能正常识别。

三、三个配置项,够用且克制

Todo Genie 几乎不需要配置,全部设置只有三个:

设置项 说明 默认值
todo-genie.tags 要扫描的注释标签 TODOFIXMEHACKBUGXXXNOTE
todo-genie.highlight 编辑器高亮方式:off(关闭)、tag(只高亮标签词)、line(高亮到行尾) tag
todo-genie.exclude files.exclude / search.exclude 之外额外排除的 glob,如 **/*.min.js []

颜色完全跟随你的 VS Code 主题,浅色、深色、高对比度主题都会自动适配,不用手动调;同一个标签在树视图和编辑器里看起来也完全一致。

四、上手流程

  1. 在 Marketplace 搜索 Todo Genie 安装;
  2. 打开任意一个项目,活动栏里点开 Todo Genie 图标;
  3. 插件自动扫描整个工作区,待办按标签或文件分门别类地列出来;
  4. 点击条目跳转、右键复制位置、或用「当前文件过滤」聚焦手头的文件。

就这么简单,没有需要纠结的初始配置。

五、小结

如果你也受够了散落在代码里的待办,欢迎到 Marketplace 搜 Todo Genie 试一试。它开箱即用、跨语言、零配置,把「全局看待办」这件事做得足够顺手。项目完全开源(MIT 协议)。

如果觉得有帮助,欢迎在 GitHub 点个 Star,有问题也欢迎提 Issue。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐