LazowskiAnton · Extensions

OutputSmith

让 Visual Studio 的输出窗口更易读。错误和警告醒目突出,生成和测试结果一目了然,而模块加载、编译步骤、还原行等干扰信息则退居其后。

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

为什么选择 OutputSmith

同一生成输出在使用 OutputSmith 前后的对比

问题优先

错误显示为红色,整行带浅红色背景,文本左侧有标记;警告显示为黄色。即使是很长的生成,不用读一行就能看到它们。

干扰信息退居其后

模块加载、已退出的线程、还原和编译步骤、测试适配器的消息都会被淡化——它们仍在,但不再碍事。

只认确定的内容

按 MSBuild、编译器、测试运行程序和日志记录器的格式识别各行。仅仅包含“error”一词的行保持原样。

免费,没有附加条件

没有订阅、没有试用期、没有催促弹窗、没有遥测。支持 Visual Studio 2022 和 2026,x64 和 ARM64。

功能

窗格

窗格识别的内容
Build, Build Order带项目名称的生成标题、诊断、结果、还原、C++ 编译步骤、复制步骤
Debug模块加载和线程、应用程序输出、日志级别、异常和堆栈帧
TestsxUnit、NUnit 和 MSTest 消息,失败和跳过的测试,运行结果
CMake配置检查及其结果,带文件链接的 CMake 错误和警告
Package Manager还原行和漏洞警告
GitHub Copilot, …Visual Studio 自身的日志([Category Information]),以及 : Succeeded 之类的结果

生成

在“Build started”行中,项目名称显示为粗体,其余部分为灰色,便于跟踪并行生成。错误带浅红色背景,警告带黄色标记;路径和代码会突出显示。

包含错误、警告、结果和项目名称的生成输出

调试

调试器自身的消息为灰色,因此应用程序写入的内容(Debug.WriteLine、Trace、日志记录器)会带着蓝色标记突出显示。日志级别会着色;未经处理的异常为红色,你自己代码中的帧保持醒目。

包含已淡化的模块加载、应用程序输出、日志级别和异常的调试输出

测试和 CMake

测试适配器的输出很多:xUnit、NUnit 和 MSTest 的进度以及“No test is available in …”都显示为灰色。失败的测试、发现失败和运行结果则会突出显示。

包含已淡化的适配器消息、失败的测试和运行结果的测试输出

CMake 和 C++

CMake 检查显示为灰色,只有结果词会着色——在 Windows 上“not found”往往是预期的,因此显示为黄色而不是红色。正在编译的文件名和“Generating Code…”也显示为灰色。

包含已淡化的检查和着色结果的 CMake 输出

设置

工具 → 选项 → SmithWorks → OutputSmith。每个选项都有说明,顶部的预览会立即显示效果。

选项默认值
为输出窗口着色开
为错误行添加背景色开
文本左侧的标记开
在“调试”中标记应用程序输出开
淡化调试器干扰信息开
突出显示时长和大小开
突出显示项目名称开
第一次机会异常警告
日志格式全部开启
窗格全部开启

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

OutputSmith 选项页
带实时预览的选项页。

常见问题

为什么某些行没有着色?

OutputSmith 只为它认识的格式着色:MSBuild 和编译器诊断、测试运行程序、日志记录器、调试器和 CMake 消息。仅仅包含“error”或“failed”的行不会被猜测着色——否则会着色过多。另请检查设置中是否已开启该行所在的窗格。

OutputSmith 会更改输出吗?

不会。它只改变文本的外观;复制、搜索、双击导航和错误列表照常工作。

它会拖慢大型生成吗?

不会。只为可见的行着色,并且每一行只识别一次。

可以更改颜色吗?

暂时不能。颜色跟随 Visual Studio 的深色或浅色主题;每种突出显示都可以在设置中关闭。

OutputSmith 会发送任何数据吗?

不会。没有遥测,也不访问网络。

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

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

更新日志

1.0.2

1.0.1

1.0.0