Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>OMNI TodoNew to Visual Studio Code? Get it now.
OMNI Todo

OMNI Todo

omni-workshop

|
2 installs
| (0) | Free
Scan, highlight and manage TODO comment tags with priority levels and template insertion.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

OMNI Todo

Version License

一款 VSCode 插件,用于扫描、高亮和管理代码中的 TODO 注释标签,支持优先级标记、自定义标签和模板插入。

功能特性

核心功能(兼容 Todo Tree)

  • 快速工作区扫描 — 基于 ripgrep 引擎
  • 树视图 — 两种模式:树形(工作区 > 文件 > TODO)、扁平列表
  • 视图切换 — 单按钮在树形/扁平视图间切换,图标随状态自动变化
  • 分组方式 — 按文件分组 或 按标签分组
  • 全部展开/折叠 — 单按钮切换全部展开与全部折叠,图标随状态自动变化
  • 编辑器高亮 — 每个标签可独立配置颜色
  • Gutter 图标 和 滚动条标记
  • 导航跳转 — 在当前文件内跳转到上一个/下一个 TODO(Alt+Shift+T / Alt+Shift+P)
  • 文本过滤 — 按关键词过滤树内容
  • 导出 — 导出为 Markdown 或纯文本
  • 状态栏计数 — 实时显示各标签数量
  • 自定义标签 — 动态添加/删除搜索标签,支持按标签分组查看
  • 扫描范围 — 仅工作区 / 仅打开文件 / 工作区+打开文件

树视图结构

树形模式下,以工作区名称为根节点,文件直接作为子节点(括号内显示相对路径),TODO 作为文件的子节点:

- omni-todo (工作区)
  -- extension.ts (src)
     --- [P0] 修复命令注册逻辑
     --- [P2] 添加错误处理
  -- treeProvider.ts (src/tree)
     --- [P1] 优化排序算法
  -- config.ts (src/utils)
     --- TODO 添加默认值验证

增强功能

优先级标记

在 TODO 中标记优先级,不同优先级会显示不同颜色:

// TODO(P0): 中断处理函数有严重 bug      → 红色
// TODO(P1): 重构 DMA 配置代码            → 橙色
// TODO(P2): 为 UART 驱动添加单元测试     → 黄色
// TODO(P3): 优化注释格式                 → 蓝色

优先级如何影响颜色:

  • 树视图中的图标颜色会变为优先级对应的颜色
  • 编辑器中的高亮背景色会变为优先级对应的颜色
  • 滚动条上的标记颜色也会同步变化
  • 无优先级的 TODO 使用标签本身的默认颜色

默认优先级配置:

优先级 标签 颜色 用途
P0 Critical #f44747 红色 必须立即修复的严重问题
P1 High #ff8c00 橙色 高优先级,尽快处理
P2 Medium #FFD700 黄色 中等优先级,计划处理
P3 Low #0a84ff 蓝色 低优先级,有空再处理

在 设置 → OMNI Todo → Priority 中可自定义优先级级别、标签和颜色。

其他优先级特性:

  • 树视图标签前显示 [P0] 前缀
  • 支持按优先级排序树视图
  • Tooltip 中显示优先级信息
  • 模板插入时可选择优先级

自定义标签与标签分组

  • 添加标签 — 通过命令面板执行 "Add Tag",输入新的标签名称(如 REVIEW、OPTIMIZE)
  • 删除标签 — 通过命令面板执行 "Remove Tag",从列表中选择要删除的标签
  • 按标签分组 — 点击工具栏的标签分组按钮,TODO 会按标签关键词分组显示
  • 按文件分组 — 点击工具栏的文件分组按钮,恢复按文件分组显示
  • 添加的标签会自动保存到用户设置中,下次打开时仍然生效

TODO 模板插入

按快捷键 Alt+Shift+I 快速插入格式化的 TODO 注释:

  • 自动检测当前文件语言的注释格式(C/C++ 用 //,Python 用 # 等)
  • 弹出优先级选择器,选择后自动填入
  • 可选包含当前日期和 Git 作者名
  • 模板格式可配置:{tag}({priority}): {text}

C/C++ 适配

  • 针对 C/C++ 优化注释语法检测(// 和 /* */)
  • 支持 CMake、Makefile、汇编注释格式
  • 兼容 .c、.cpp、.h、.hpp、.cc、.s、.S 文件

工具栏按钮

按钮 说明
刷新 重新扫描工作区
Toggle Tree/Flat View 在树形视图和扁平列表间切换(图标随当前模式变化)
Expand All / Collapse All 全部展开或全部折叠(图标随当前状态变化)
Group by Tag 按标签关键词分组
Group by File 按文件分组(默认)
Filter 按文本过滤树内容
Clear Filter 清除过滤
Export 导出为 Markdown 或纯文本
Reveal Current File 在树中定位当前文件

命令列表

命令 快捷键 说明
Insert TODO Alt+Shift+I 在光标处插入格式化 TODO
Go to Next TODO Alt+Shift+T 跳转到当前文件的下一个 TODO
Go to Previous TODO Alt+Shift+P 跳转到当前文件的上一个 TODO
Refresh Tree — 重新扫描工作区
Add Tag — 添加新的搜索标签
Remove Tag — 移除已有的标签
Export Tree — 导出为 Markdown 或纯文本
Filter Tree — 按文本过滤树
Reveal Current File — 在树中定位当前文件

配置项

通用

  • omni-todo.general.tags — 要搜索的标签(默认:TODO, FIXME, NOTE, HACK, XXX)
  • omni-todo.general.excludeGlobs — 排除的文件 glob 模式
  • omni-todo.general.fileExtensions — 限制扫描的文件扩展名
  • omni-todo.general.scanMode — 扫描模式:workspace / openFiles / workspaceAndOpenFiles
  • omni-todo.general.periodicRefreshInterval — 自动刷新间隔(分钟,0=禁用)

高亮

  • omni-todo.highlights.defaultHighlight — 所有标签的默认高亮设置
  • omni-todo.highlights.customHighlight — 按标签自定义高亮

树视图

  • omni-todo.tree.showCounts — 显示节点计数
  • omni-todo.tree.compactFolders — 压缩文件夹名称
  • omni-todo.tree.sortBy — 排序方式:file / tag / priority / line

优先级

  • omni-todo.priority.enabled — 启用优先级解析
  • omni-todo.priority.levels — 优先级级别定义(P0-P3),含标签和颜色

模板

  • omni-todo.template.format — 模板格式字符串
  • omni-todo.template.includeDate — 模板中包含日期
  • omni-todo.template.includeAuthor — 模板中包含作者
  • omni-todo.template.includePriority — 插入时选择优先级
  • omni-todo.template.commentStyle — 注释风格:auto / line / block

开发

npm install                      # 安装依赖
npm run compile                  # 编译(开发模式)
npm run watch                    # 监听模式
npm run package                  # 生产构建(webpack 打包,不生成 .vsix)
npx @vscode/vsce package         # 打包为 .vsix 安装包

在 VSCode 中按 F5 启动扩展开发宿主进行调试。

打包前请确保已执行 npm run package 完成生产构建,再运行 npx @vscode/vsce package 生成 .vsix 文件。如需发布到市场,使用 npx @vscode/vsce publish。

许可证

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft