LazowskiAnton · Extensions

NoteSmith

该醒目时就醒目的注释:TODO、FIXME 等以颜色显示,整个解决方案中的这些注释汇集在一个窗口里,锚点让你在长文件的各个部分之间跳转。

免费 · Visual Studio 2022 和 2026 · 14 种界面语言 · 无遥测

为什么选择 NoteSmith

没有和使用 NoteSmith 时的同一段代码:带标签的注释以颜色显示

一眼就能看到

橙色的 TODO,标签衬着柔和的色块;红色的 FIXME;加粗的重要说明——文件中悬而未决的问题不再淹没在普通注释里。

解决方案中的所有 TODO

注释窗口在后台读取所有源文件,而不只是已打开的文件,并在你保存时随时更新。双击即可打开对应的行。

自定义标签

添加 REVIEW、PERF 或团队使用的任何词——最多 30 个标签,每个都可选择在深色和浅色主题下都清晰易读的颜色。

免费,没有附加条件

没有订阅、没有“Pro”版、不收集数据,也不会在“输出”窗口或启动时显示消息。我们唯一的请求是:在你用过一段时间之后,到 Marketplace 给个评分。支持 Visual Studio 2022 和 2026,x64 和 ARM64。

功能

标签

标签只在注释开头才算数,并按原样匹配:TODO 是标签,todo 和 TODOS 是普通单词,因此普通句子永远不会被着色。

包含 TODO、FIXME、HACK、NOTE、重要注释、问题和划掉的代码的文件,滚动条上有标记
标签含义
TODO仍需完成的工作。
FIXME, BUG已知有问题、必须修复的代码。
HACK应改用正式方案替换的临时解决办法。
NOTE, INFO修改代码前值得一读的说明。
ANCHOR文件中可跳转到的命名位置。
// !以粗体显示的重要注释。
// ?尚未解决的问题。
////被注释掉的代码,以删除线显示。

作者、Issue 和截止日期

在带标签的注释中,TODO(anna) 中的名字显示为灰色,#142 像链接一样突出显示,due 2026-11-01 显示为色块,过了该日期后变为红色。

自定义标签

选项页上的标签表包含内置标签和你自己的标签,最多 30 个:用逗号分隔的词(PERF, SLOW)、从为两种主题设计的 12 组颜色中选择的颜色、样式(标签背景、粗体、普通、删除线),以及注释窗口是否收集它。内置标签可以关闭或更改颜色。

注释窗口

视图 → 其他窗口 → NoteSmith Comments。打开的解决方案或文件夹中所有带标签的注释,先按标签分组,再按项目和文件分组。筛选块用于显示或隐藏某个标签,已逾期 只保留逾期的注释,搜索框按文本和文件筛选。文件在后台读取——bin、obj、node_modules 和生成的文件会被跳过——磁盘上的文件更改后会重新读取。双击或按 Enter 即可打开对应的行。

注释窗口,显示 FIXME、TODO 和 HACK 分组、筛选块以及一条逾期的注释

悬停卡片

将指针停在标签词或截止日期上:卡片会说明标签的含义,显示作者、截止日期及剩余或逾期天数、Issue,以及解决方案中同类注释的数量。全部 TODO 注释 会打开只显示该标签的注释窗口,标签设置… 会打开选项页。

TODO 的悬停卡片,显示作者、截止日期、Issue 和按钮

锚点

// ANCHOR: name 标记长文件中的某个部分。编辑 → 转到 → NoteSmith Anchors(Ctrl+K, Ctrl+,)列出插入点所在文件的锚点,并预先选中你当前所在的部分:键入以筛选,按 Enter 跳转。锚点同样在滚动条上有标记,在注释窗口中有自己的分组。

长文件的锚点列表,包含三个锚点

设置

工具 → 选项 → SmithWorks → NoteSmith。每个选项都有说明,顶部的预览会立即以所选标签和样式显示示例注释。

选项默认值
为注释标签着色开
Better Comments 简写开
在标签后显示背景开
在滚动条上显示标记开
悬停时显示卡片开
标签7 个内置标签和 3 个简写
作者、Issue 引用、截止日期全部开启
收集整个解决方案的注释开
请求在 Marketplace 上评分开

设置保存在 %LocalAppData%\NoteSmith 中。

NoteSmith 选项页
带实时预览和标签表的选项页。

常见问题

哪些语言会着色?

在编辑器中,凡是 Visual Studio 会为注释着色的语言都支持:NoteSmith 从编辑器自身的着色中获取注释,因此在 C#、Visual Basic、F#、C++、TypeScript、JavaScript、XAML、XML、HTML、CSS、SQL、Python、PowerShell、Razor 等语言中同样有效。注释窗口、滚动条标记和锚点按扩展名读取文件:.cs、.vb、.fs、C 和 C++ 文件、.js、.ts、.xaml、.xml、.html、.css、.scss、.sql、.py、.ps1、.cshtml、.razor、.yml 等。

为什么小写的 todo 没有着色?

标签按原样匹配,这样普通句子中的单词永远不会被着色。如果你的团队习惯这样写,请将 Todo 或 todo 添加到标签表中。

它与任务列表有什么不同?

Visual Studio 的任务列表默认只以纯文本显示 TODO、HACK 和 UNDONE。注释窗口则以颜色显示标签表中的所有标签,将它们分组,可按标签、日期和文本筛选,并跟踪磁盘上的更改。

注释窗口会读取哪些文件?

解决方案文件夹(或打开的文件夹)下的所有源文件,但 bin、obj、node_modules、.git、.vs、packages,*.Designer.cs 和 *.g.cs 等生成的文件,压缩过的脚本以及大于 1 MB 的文件除外。只是看起来像注释的字符串("http://…")会被跳过。

可以更改锚点列表的快捷键吗?

可以:工具 → 选项 → 环境 → 键盘,命令 Edit.NoteSmithAnchors。

NoteSmith 会发送任何数据吗?

不会。没有遥测,也不访问网络;你的代码始终留在你的计算机上。

在哪里报告问题或提出功能建议?

请在 GitHub 上的 Feedback 仓库中提交 issue——那里有用于报告错误和提出建议的表单(如有私密名称,请先替换)。也可以使用 Marketplace 上的 Q&A 选项卡。

更新日志

1.0.1

1.0.0