LensSmith
错误、警告和消息直接显示在所在行的末尾,并按问题为整行着色。不必再把鼠标悬停在波浪线上,也不必低头去看错误列表。
免费 · Visual Studio 2022 和 2026 · 14 种界面语言 · 无遥测
为什么选择 LensSmith

就在你看的地方
消息就在相关代码旁边。边写代码边就能看到哪里有问题,无需移动鼠标或视线。
键入时保持安静
正在编辑的行在你停下来之前保持安静,未写完的代码不会闪现错误。
凡有波浪线的语言都支持
C#、Visual Basic、F#、C++、TypeScript,还有 XAML——以前 XAML 中的拼写错误要到生成或运行时才会暴露。
免费,没有附加条件
没有订阅、没有试用期、没有催促弹窗、没有遥测。支持 Visual Studio 2022 和 2026,x64 和 ARM64。
功能
- 行尾显示消息:圆形图标、诊断代码和文本,按级别着色——错误为红色,警告为黄色,消息为蓝色。
- 最严重的优先:一行有多个诊断时,显示最严重的那个,并用
+N表示还有几个;重复项会被去除。 - 悬停查看全文:将指针悬停在消息上,即可完整阅读该行的所有诊断。
- 行着色:行后方是向右渐隐的柔和渐变,滚动时也能一眼看到问题。对于渐变不明显的主题,还提供纯色和竖条样式。
- 键入时保持安静:编辑过的行会等键入短暂停顿后再显示消息。
- 适应窗口:过长的文本会在单词边界处以“…”截断,窗口较窄时也是如此;紧凑模式下只显示代码。
- 隐藏的代码:不想在行内看到的诊断(例如
IDE0008)会被跳过;它们仍保留在错误列表中。 - 其他文件中的生成错误:编辑时没有任何检查的文件(
.idl、CMake 列表、.props)会显示错误列表中上次生成的错误。 - 深色和浅色主题:颜色跟随 Visual Studio 的主题。
适用范围
| 编辑器 | 消息来源 |
|---|---|
| C#, Visual Basic, F# | 编译器和分析器诊断(CS…、BC…、IDE…、CA…) |
| C++ | IntelliSense 错误和警告 |
| TypeScript, JavaScript | 语言服务诊断(TS…) |
| XAML | 错误列表(XLS…、XDG…):XAML 编辑器的波浪线不带文本 |
| 其他编辑器 | 任何 Visual Studio 会绘制波浪线的编辑器 |
| IDL、CMake、MSBuild 等 | 上次生成的错误(来自错误列表) |
在代码中
每行显示其最严重的问题。消息(如 IDE0017 这样的建议)为蓝色,比错误和警告更低调,不会喧宾夺主。

XAML
错误的属性值、未知的类型、绑定中的拼写错误——XAML 编辑器会画出下划线,但文本一直藏在错误列表里。LensSmith 把它写在行旁边,错误当场就能发现,而不是等到生成或运行时。

行着色
深色主题千差万别,因此提供三种样式和三档强度:渐变(默认)、纯色,或者只在左边缘显示一条细竖条,不改变代码背景。每个级别都可以单独选择是否着色。

设置
工具 → 选项 → SmithWorks → LensSmith。每个选项都有说明,顶部的预览会立即显示效果。
| 选项 | 默认值 |
|---|---|
| 在行尾显示诊断信息 | 开 |
| 显示: 错误、警告、消息 | 全部开启 |
| 无实时检查的文件中的生成错误 | 开 |
| 颜色 | 正常 |
| 内容 | 代码和文本 |
| 最大长度 | 120 |
| 键入后暂停 | 500 毫秒 |
| 隐藏光标所在行的消息 | 关 |
| 隐藏的代码 | — |
| 为以下行着色: 错误、警告、消息 | 全部开启 |
| 样式 | 渐变 |
| 强度 | 正常 |
设置保存在 %LocalAppData%\LensSmith 中。

常见问题
它会取代错误列表吗?
不会。LensSmith 只显示 Visual Studio 已经报告的内容;波浪线、错误列表、快速操作和生成都与以前一样。
为什么某行有着色却没有文本?
该行的波浪线不带文本,错误列表中也没有该行的条目——例如错误列表只显示当前文档,或隐藏了警告。一旦错误列表中出现该条目,文本就会显示。
为什么停止键入后过一会儿才出现消息?
这是键入后暂停:编辑过的行在 500 毫秒内保持安静,以免未写完的代码闪现错误。可以在设置中缩短或关闭。
消息太多了,怎么办?
在“显示”中关闭消息,在“隐藏的代码”中隐藏个别代码(如 IDE0008),或将内容切换为“仅代码”。
会拖慢大文件吗?
不会。只读取和绘制可见的行,没有诊断的行不会绘制任何内容。
LensSmith 会发送任何数据吗?
不会。没有遥测,也不访问网络。
在哪里报告问题或提出功能建议?
请在 GitHub 上的 Feedback 仓库中提交 issue——那里有用于报告错误和提出建议的表单(如有私密名称,请先替换)。也可以使用 Marketplace 上的 Q&A 选项卡。
更新日志
1.0.2
- 同一行有 LocaleSmith 资源值时,消息显示在其后,不再与之重叠。
1.0.1
- 设置中新增“在 Marketplace 上评价”链接。
1.0.0
- 首个公开版本。