编程与软件开发

MSBuild Binlog Analyzer 扩展支持在 VS Code 中通过 Copilot 分析构建日志

Microsoft 推出了 MSBuild Binlog Analyzer for VS Code 的预览版,用于分析 MSBuild 二进制日志,解释构建失败原因、比较性能,并通过 GitHub Copilot 发现回归。该扩展基于 Microsoft.AITools.BinlogMcp 服务器,需要 VS Code 1.99 或更高版本、GitHub Copilot 和 .NET SDK。

2026-07-27
2 分钟阅读
14 浏览量
فريق تحرير certi.news
MSBuild Binlog Analyzer 扩展支持在 VS Code 中通过 Copilot 分析构建日志

MSBuild Binlog Analyzer for VS Code 扩展已在 Visual Studio Marketplace 上提供预览版,可将 MSBuild 二进制日志分析带入 Visual Studio Code 编辑器,而不必依赖独立查看器。该扩展使用 GitHub Copilot 帮助开发者了解构建失败的原因、分析构建缓慢问题、比较多个构建过程并发现回归。

.binlog 文件会记录 MSBuild 项目及其目标、任务、属性和诊断信息。但从中提取重要信息可能需要打开其他工具,并且需要知道应该在哪里查找。该扩展旨在解决这一问题,将日志内容转换为开发环境中的易懂答案。

失败原因与性能分析

开发者可以询问 Copilot 构建过程失败的原因,扩展会以清晰的语言提供解释,而不必手动在 NuGet 包还原消息及其他输出中查找。扩展还支持一键执行修复:Copilot 会读取失败的项目,应用修复,然后重新构建,并加载修复前后的日志以验证结果。也可以逐个修复问题:右键单击诊断信息,然后选择Auto-fix with Copilot

在构建缓慢的情况下,扩展会按顺序显示最慢的目标和任务,并突出显示决定构建实际耗时的关键路径。它还可以说明哪些目标被重新构建以及原因,从而帮助验证增量构建是否正常工作,而不是依靠猜测。

比较与回归检测

可以将任意已加载的 binlog 文件设为基线,扩展会自动将后续构建与其进行比较。状态栏会显示一个徽章,说明相对于基线的变化比例;而Regressions节点会显示更改详情,包括变慢的目标、新增或删除的诊断信息、MSBuild 属性差异,以及 NuGet 包版本的变化。

Build Comparison界面可以在目标级别对两个日志进行可视化比较,显示差异,并突出显示由 MCP 服务器计算出的关键路径。来源举例说明,Copilot 追踪到CoreCompile操作增加了 473% 的耗时,该操作始于冷状态,并指出这属于首次编译的成本,而不是代码问题。

服务器与安装

该扩展与 .NET 全局工具Microsoft.AITools.BinlogMcp配合工作。该工具通过 Model Context Protocol 提供数十种构建分析工具。Copilot 会调用这些工具,以实际日志中的数据为依据;服务器还会在首次使用时自动安装,无需手动配置。

要使用该扩展,开发者需要 VS Code 1.99 或更高版本、GitHub Copilot 和 .NET SDK。可以通过命令面板中的Binlog: Load File命令打开 binlog 文件,使用快捷键 Ctrl+Shift+P;也可以通过Build & Collect Binlog选项在构建过程中创建日志,或从 Structured Log Viewer 中打开日志。

加载日志后,可以在 Copilot Chat 中与@binlog参与者交互,提出构建失败原因或最慢目标等问题,并使用/errors/perf/timeline/compare/summary/incremental/buildcheck等命令。

其他工具与 CI/CD 集成

该扩展包含 Binlog Explorer,可显示项目、错误、警告和性能部分;它还会在 VS Code 原生 Problems 面板中显示诊断信息,为每个项目提供 CodeLens,并支持请求 Copilot 进行解释。其他功能包括持续时间时间线、提出改进建议并应用改进后通过两个测试之间的自动比较进行验证,以及搜索构建事件、任务、消息和属性。

扩展还支持从 Azure DevOps Pipelines 和 GitHub Actions 下载 binlog 文件,并按分支或拉取请求进行筛选,从而无需离开 VS Code 即可分析失败的 CI 构建。它提供用于代理模式和自定义聊天模式的语言工具,以及开箱即用的 Build Analysis 模式。

该扩展仍处于预览阶段,并在持续积极开发中。对于希望在没有编辑器界面的情况下工作的用户,来源提到了 Microsoft Binlog MCP Server。它以无界面的方式使用同一分析引擎,适用于 CI 环境中的非交互式调查。反馈和建议可通过dotnet/skills存储库提交。

新闻来源
ف
作者

فريق تحرير certi.news

同一分类

你可能还喜欢

查看所有新闻