本月的 Visual Studio 更新继续聚焦于帮助您提升效率、保持流畅的工作状态,在人工智能辅助、调试、测试和现代化方面带来了切实的改进。在 1 月份编辑器更新的良好势头基础上,2 月份的版本带来了更智能的诊断功能,并针对从 WinForms 维护到 C++ 现代化等实际开发场景提供了有针对性的支持。
所有突出显示的功能都已在 Visual Studio 2026 Stable 中推出,作为 2026 年 2 月功能更新(18.3 版本)的一部分。请更新到最新版本来体验这些新功能!
WinForms Expert Agent
WinForms Expert Agent 提供了一份针对性指南,用于应对 WinForms 开发中的关键挑战。它涵盖了几个重要领域:设计器与常规代码:了解哪些 C# 功能适用于设计器生成的代码和业务逻辑。
- 现代 .NET 模式:针对 .NET 8-10 进行了更新,包括使用 Community Toolkit 的 MVVM、具有适当 InvokeAsync 重载的 async/await、支持高 DPI 的深色模式以及可空引用类型。
- 布局:关于使用 TableLayoutPanel 和 FlowLayoutPanel 实现响应式、跨设备设计的建议。
- CodeDOM 序列化:属性序列化规则以及避免 [DefaultValue] 和 ShouldSerialize*() 方法的常见问题。
- 异常处理:异步事件处理器模式和稳健的应用级错误处理。
该 Agent 充当您的 WinForms 代码的专家评审员,提供从控件命名到确保可访问性等各方面的全面指导。WinForms Agent 会在必要时自动实现并包含在系统提示中。
借助 GitHub Copilot 实现更智能的测试生成
Visual Studio 现在包含了借助 GitHub Copilot 实现的智能测试生成功能,这使得为 C# 代码创建和完善单元测试的过程更加快捷。这个专门设计的工作流能与 xUnit、NUnit 和 MSTest 无缝协作。

只需在 GitHub Copilot Chat 中输入 @Test,描述您想要测试的内容,Copilot 就会为您生成测试代码。无论您是从头开始,还是想提高现有项目的覆盖率,这项功能都能帮助您在不脱离工作流程的情况下更快地编写测试。
自定义提示词的斜杠命令
在 Copilot Chat 中,使用斜杠命令可以更快地调用您喜爱的自定义提示词。输入 /,您的自定义提示词就会显示在列表顶部,并标有书签图标,方便识别。

我们还添加了两个额外的命令:
-- /generateInstructions:利用项目上下文(如编码风格和偏好)为您的代码库自动生成一个 copilot-instructions.md 文件
-- / savePrompt:从当前聊天线程中提取可重复使用的提示,并通过 / 命令保存供以后使用
这些快捷方式使构建和重用工作流模式变得更加容易。
C++ 应用现代化
GitHub Copilot 的 C++ 应用现代化功能现已在 Public Preview 版中推出。GitHub Copilot 的 C++应用现代化功能可帮助您更新 C++ 项目,以使用最新版本的 MSVC 并解决与升级相关的问题。您可以在 Microsoft Learn 上找到我们的用户文档。

IEnumerable Visualizer 中的 DataTip
现在,调试时您可以在 IEnumerable Visualizer 中使用 DataTip 了。只需将鼠标悬停在网格中的任何单元格上,就能查看该值背后的完整对象,这与您在编辑器或 Watch 窗口中熟悉的数据提示体验相同。
当您将鼠标悬停在单元格上时,DataTip 会在一个位置显示该对象的所有属性。这使得调试包含复杂或嵌套数据的集合变得容易得多。无论是对象的 List<T>,还是带有结构化值的字典,只需一次悬停,您就能快速查看其中的所有内容。

使用 Copilot 分析调用栈
现在,您可以借助 Copilot 来分析调用栈,以帮助您在调试暂停时快速了解应用程序正在执行的操作。当您暂停执行时,可以在 Call Stack 窗口中选择"Analyze with Copilot"。Copilot 会检查当前的栈,并解释应用程序为何没有继续运行,无论是线程在等待任务、处于循环中,还是被某种东西阻塞。
这使得调用栈不仅仅是一个帧的列表。它变成了一个有用的指南,展示您的应用程序中正在发生的事情,这样您就能更快地找到真正的解决方案。

带有单元测试支持的 Profiler Agent
Profiler Agent(@profiler)现在可用于单元测试。您可以使用现有的测试来检查性能改进,这使得在更多情况下衡量和优化代码变得更加容易。该 Agent 能够发现执行性能关键代码路径的相关单元测试或 BenchmarkDotNet 基准测试。
如果没有可用的单元测试或基准测试,它会自动创建一个小型测量设置,以便您能够捕获基准并在更改后比较结果。这种以单元测试为重点的方法也使得 Profiler Agent 对 C++ 项目很有用,在这些项目中,基准测试并不总是切实可行的,但单元测试通常已经存在。

更快、更可靠的 Razor 热重载
Razor 文件的热重载现在更快、更可靠。通过将 Razor 编译器托管在 Roslyn 进程内,对 .razor 文件的编辑应用速度更快,避免了以前拖慢 Blazor 工作流程的延迟。我们还减少了被阻塞的编辑次数,现在更多更改无需重新生成即可应用,包括文件重命名和一些以前不支持的代码编辑。当仍然需要重新生成时,热重载现在可以自动重启应用程序,而不是结束调试会话,帮助您保持工作流畅性。
我们持续投入开发相关功能,助力您理解、测试和改进现有代码,而不仅仅是编写新代码。请在 Visual Studio 2026 Stable 中尝试这些更新,并告诉我们哪些方面表现良好,以及我们在哪些地方可以改进。您的反馈将直接影响我们接下来的开发方向。
原文链接:https://devblogs.microsoft.com/visualstudio/visual-studio-february-update/
