我们很高兴地宣布 Visual Studio 2026 年 4 月更新已经可用。 此版本标志着开启 Visual Studio 的新时代,体现了与 AI 的深度平台集成、更强大的基础架构以及改进的性能。
下载 Visual Studio 2026,享受这些新功能和改进。
4 月更新 18.5.0
发布日期 :2026 年 4 月 14 日。
IDE
JSON 编辑器架构更新
JSON 编辑器已更新,以支持更多 JSON 架构功能。
JSON 编辑器现在支持较新的 JSON 架构规范,使你能够访问现代架构特性,例如
$defs、$anchor,并改进了词汇支持。以前,编辑器仅支持 JSON 架构草稿 4 和草稿 7。 现在可以使用:
当使用采用最新规范的模式时,这意味着更好的 IntelliSense 和验证功能。
GitHub Copilot
使用代理技能📣
Visual Studio 中的 Copilot 代理现在会自动发现并使用在您的代码库或用户配置文件中定义的功能。
Visual Studio中的Copilot代理现在可以自动发现技能。 智能体技能是可重用的指令集,教智能体如何处理特定任务,例如运行生成管道、生成样板或遵循团队的编码标准。 一次性定义一项技能,以节省时间,并在整个工作流程中保持行为一致。 请查看 awesome-copilot 获取社区示例。
从以下位置发现技能:
- 工作区或项目技能(存储在存储库中):
.github/skills/、.claude/skills/、.agents/skills/。- 个人技能(存储在用户配置文件中):
~/.copilot/skills/、~/.claude/skills/、~/.agents/skills/。创建技能:
- 创建
.github/skills/目录用于工作区技能或~/.copilot/skills/目录用于个人技能。- 为技能创建子目录。 为每个技能指定自己的目录(例如,
.github/skills/github-issues/)。- 在该目录中创建
SKILL.md文件。 遵循 agentskills.io/specification 格式。- (可选)将脚本、示例或其他资源添加到技能目录中。
在其中一个目录中创建技能后,智能体将决定何时使用它。 当一项技能处于活动状态时,它会出现在聊天中,这样你就知道它正在被应用。
显示活动技能的
即将发布的版本中将推出更多用户友好的流,用于浏览和创建Visual Studio技能。 试用智能体技能,并分享你的反馈。
📣 请查看feature ticket以分享您的反馈并继续讨论。
云代理集成
直接从 Visual Studio 启动新的云代理会话。
云代理(包括Copilot编码代理)在远程基础结构上运行,以便进行可缩放的独立执行。 现在可以直接从Visual Studio启动新的云代理会话。
![]()
若要试用,请在“聊天”窗口的智能体选取器中选择“云”,然后分享你需要协助的任务。 云代理首先请求权限以在你的存储库中打开一个问题,然后创建一个拉取请求来解决该问题。 在准备 PR 时,可以继续处理Visual Studio中的其他任务,或关闭Visual Studio,稍后返回。 PR 准备就绪后,你将收到一条通知,可以在Visual Studio或浏览器中查看它。
![]()
Visual Studio中的云代理目前由Copilot编码代理提供支持。 若要使用它,请确保位于GitHub存储库中,并且Copilot有权在该存储库中创建问题。 试用它,并告诉我们你的想法。
生成自己的自定义代理 📣
\使用存储库或用户配置文件中的 .agent.md 文件定义为团队工作流定制的自定义代理。
自定义代理可帮助你为团队工作流生成专用Copilot代理。 他们可以使用工作区感知、代码理解、工具、所选模型和以及 MCP 与外部知识源(如内部文档、设计系统、API 和数据库)的连接。
自定义代理被定义为存储库或用户配置文件中的
.agent.md文件。 特定于工作区或项目的代理存储在您的存储库的.github/agents/下。 例如:your-repo/ └── .github/ └── agents/ └── code-reviewer.agent.md默认情况下,用户级智能体存储在
%USERPROFILE%/.github/agents/中。 可以在 Tools → 选项→ Copilot 对话助手 →自定义代理用户目录中更改此位置。若要创建自定义代理,请直接在上述位置之一
.agent.md创建文件,或单击 + 代理选取器中的按钮并按照提示进行操作。
![]()
创建自定义智能体后,它将显示在智能体选取器中,以便随时使用它。
有几点需要注意:
- 如果不指定模型,智能体将使用当前在模型选取器中选择的模型。
- 工具名称因GitHub Copilot平台而异 - 检查Visual Studio中可用的工具,以确保代理按预期工作。
- awesome-copilot 代码库中有社区贡献的代理配置,您可以用作起点。 在Visual Studio中使用工具名称之前,请验证它们。
📣 请查看feature ticket以分享您的反馈并继续讨论。
自定义用于接受Copilot内联建议的键盘快捷键。
现在可以自定义用于接受Copilot内联建议的键盘快捷方式。 可以在标准键盘设置中更改接受完整建议、下一个单词或下一行的键。
若要设置首选快捷方式,请执行以下操作:
- 转到 “工具→选项”→环境→键盘。
- 搜索要自定义的命令:
Edit.AcceptSuggestionEdit.AcceptNextWordInSuggestionEdit.AcceptNextLineInSuggestion- 删除现有密钥绑定。
- 在实时建议激活范围下设定新快捷键。
![]()
例如,下图将默认接受快捷方式从 Tab 更改为 Ctrl+Tab。新快捷方式将在整个提示栏中显示。
![]()
📣 请查看feature ticket以分享您的反馈并继续讨论。
IntelliSense 优先于 Copilot 📣
IntelliSense 现在优先考虑 Copilot 提供的代码补全,因此您一次只能看到一个建议。
我们听到你的反馈:同时看到 IntelliSense 和 Copilot 的提示可能会分散注意力。 编辑器现在对 IntelliSense 列表进行优先级排序,一次只显示一个建议。
![]()
当 IntelliSense 处于活动状态时,Visual Studio 暂时抑制 Copilot 的补全功能,以便你可以专注于当前选择。 关闭或提交 IntelliSense 选择后,Copilot完成。 默认情况下,此行为现已启用。 像平时一样,将 VS 更新到最新版本和代码。 请告诉我们您的任何意见!
📣 请查看feature ticket以分享您的反馈并继续讨论。
新的聊天历史记录面板📣
使用新的聊天历史记录面板浏览和导航您的Copilot聊天会话。
聊天历史记录体验已从简单的下拉菜单转变为专用面板。 现在,你将看到每个聊天标题、最新消息的预览,以及会话上次更新的时间,以便快速查找并重新打开过去的对话。
![]()
更多聊天历史记录管理功能已经在计划中。 我们非常期待您的反馈,因此请在“开发者社区”提交工单,并告诉我们您希望接下来看到的内容。
📣 请查看feature ticket以分享您的反馈并继续讨论。
调试和诊断
文本可视化工具中的自动解码
使用 Copilot 轻松解码文本。
我们正在介绍文本可视化工具中的自动检测和格式功能。 此增强功能旨在通过自动识别字符串的编码或压缩格式并在单击中应用必要的转换来简化调试工作流。
![]()
只需单击文本可视化工具右上角的“自动检测”和“格式”按钮即可。 此功能由 Copilot 提供支持,可立即识别复杂数据并将复杂数据(如 GZip 压缩 Base64)转换为可读文本,无需手动解码或外部工具。
解决代理问题
自主 Bug 解析可帮助你通过经过运行时验证的交互式 AI 指南找到并修复 bug。
我们将在 Visual Studio中引入新的调试器代理工作流,该工作流会根据实际运行时行为验证 bug,而不是依赖于静态分析猜测。 该体验将引导你完成从理解和重现问题到检测应用程序、隔离根本原因以及通过实时执行验证修复的完整代理循环。
可以从GitHub或Azure DevOps的问题开始,或者只是用自然语言描述 bug 或代码行为。 调试器代理使用此输入将问题直接映射到本地源,并指导你解决问题。 与静态方法不同,可以在调试过程中与代理交互,以提供更多输入、讨论理论或实时优化修复。
![]()
代理循环的工作原理:
- Context Injection – 提供问题链接或描述 Copilot 对话助手 调试器模式中的 bug(可以使用聊天左下角的下拉列表来切换模式)。 代理将报告与本地的代码进行关联。
- 自治重现器 – 代理分析错误描述,如果缺少再现步骤,则创建一个最小场景来自动触发故障。
- 假设和检测 – 它生成故障假设,并使用跟踪点和条件断点来检测应用,以捕获运行时状态。
- 运行时验证 – 代理运行调试会话,并分析实时遥测,以隔离根本原因。
- 定向更正 - 它建议在确切的故障点进行精确的修复,而不是进行广泛的重构。
- 最终人工验证 – 你再次运行该场景,并与代理一起在实际环境中确认修复措施是否有效。
C++
C++ 代码编辑工具代理模式
GitHub Copilot 代理模式的 C++ 代码编辑工具现已默认可用。
我们很高兴地分享,适用于 GitHub Copilot 代理模式的 C++ 代码编辑工具现已默认正式发布。 这些工具有助于 Copilot在重构或修改代码时更有效地导航 C++ 代码库。
启用这些工具后,Copilot可以:
- 绘制类继承层次结构
- 关注函数调用链
开始之前:
- 打开 C++ 项目并确保配置 IntelliSense。
- 使用 Copilot 对话助手 中的 Tools 图标启用特定工具。
![]()
启用后,Copilot在回答问题或建议代码更改时自动使用这些工具。
![]()
为了获得最佳结果,请使用支持工具调用的 AI 模型。 在 AI 模型比较中了解详细信息 - GitHub Docs
| 主要 bug 修复 | 来自社区 |
|---|---|
| 卸载项目时,VS 2026 出现挂起现象 | 反馈单 |
| Copilot终端有时不会启动队列中的命令,直到终端选项卡被切换到前台 | 反馈工单 |
| ASan 抑制不起作用 | |
| 改进了大量利用 COM、混合语言绑定和 Win32 分配器 API 的应用程序中的 ASan 运行时性能 |
版本 18.4.4
发布日期 :2026 年 4 月 14 日。
| 已处理的安全咨询 | CVE | 说明 |
|---|---|---|
| .NET拒绝服务漏洞 | CVE-2026-26171 | EncryptedXml 类中存在漏洞,其中不受控制的资源消耗可让攻击者能够执行拒绝服务攻击。 |
| .NET欺骗漏洞 | CVE-2026-32178 | .NET中特殊元素的不当处理可能让未经授权的攻击者进行网络欺骗。 |
| SQLite 内存损坏漏洞 | CVE-2025-6965 | 3.50.2 之前的 SQLite 版本中存在漏洞,其中聚合术语数可能超过可用列数。 这可能会导致内存损坏问题。 |
| Visual Studio信息泄露漏洞 | CVE-2026-32631 | 由于 NTLM 哈希泄漏到不受信任的服务器,MinGit 中存在信息泄露漏洞。 |
版本 18.4.3
发布日期 :2026 年 3 月 31 日。
| 主要 bug 修复 | 来自社区 |
|---|---|
| Copilot 聊天因无效请求正文(invalid_request_body)失败:github_push_files 数据架构需要 additionalProperties=false。 | 反馈工单 |
| 修复了Visual Studio在加载VS项目时的崩溃问题。 |
版本 18.4.2
发布日期 :2026 年 3 月 24 日。
| 主要 bug 修复 | 来自社区 |
|---|---|
| 修复 Visual Studio 2026 的代理支持页 | 反馈单 |
版本 18.4.1
发布日期 :2026 年 3 月 17 日。
| 主要 bug 修复 | 来自社区 |
|---|---|
| 使用 Copilot 许可证登陆 GitHub 帐户时,Visual Studio 会频繁要求刷新凭据。 | 反馈工单 |
| Devenv 命令行开关 /Run 和 /Runexit 不起作用 | 反馈单 |
| 修复了 Xbox Game OS 的 AddressSanitizer 兼容性问题 | 反馈工单 |
| 为 Copilot 代理模式添加对 Agent Skills 的支持 |
3 月更新 18.4.0
发布日期 :2026 年 3 月 10 日。
IDE
JSON 编辑器改进
JSON 编辑器现在是核心编辑器的一部分。
JSON 编辑器的改进
JSON 编辑器与核心编辑器一起安装
在之前的版本中,为了获得 JSON 编辑器,需要安装 Web 开发工作负荷。 在这个版本中,JSON 编辑器现在包含在核心编辑器中;因此可以在不需要安装完整的 Web 开发工作负荷的情况下获得 JSON 编辑功能。 这一变化为需要 JSON 编辑功能但不需要全套 Web 开发工具的用户提供了更简化的安装体验。
生产力
HTML 格式复制/剪切
复制并剪切具有丰富格式的代码片段。
Visual Studio现在支持从编辑器剪切或复制代码时的 HTML 剪贴板格式。 可以将彩色代码粘贴到 Office 应用的 Web 版本、Azure DevOps工作项或其他基于 HTML 的控件中。
![]()
将代码粘贴到基于 HTML 的应用程序时,此功能会保持语法突出显示和格式设置,从而更轻松地共享和呈现代码片段。 默认情况下,它处于打开状态。 若要对其进行自定义,请转到 “工具→选项”→“文本编辑器”→“高级 ”,你可以在 复制/剪切时选中或取消选中“复制格式文本 ”,并设置最大长度。
GitHub Copilot
生成自己的自定义代理 📣
适用于代理模式的使用 .agent.md 文件定义为团队工作流定制的自定义代理。
使用自定义代理,可以生成专为团队工作流定制的专用Copilot代理。 他们完全有权访问工作区感知、代码理解、工具、首选模型和 MCP 与外部知识源的连接,例如内部文档、设计系统、API 和数据库。
自定义代理定义为
.agent.md存储库中的文件。 例如,your-repo/ └── .github/ └── agents/ └── code-reviewer.agent.md
![]()
已成功创建的自定义代理将随时显示在代理选取器中供你使用。
有几点需要注意:
- 如果未指定模型,代理将使用模型选取器中选择的任何内容。
- 工具名称因GitHub Copilot平台而异 - 检查Visual Studio中可用的工具,以确保代理按预期工作。
- awesome-copilot 代码库中有社区贡献的代理配置,您可以用作起点。 在使用 Visual Studio 的工具之前验证工具名称。
📣 请查看feature ticket以分享您的反馈并继续讨论。
Find_symbol 工具
用于GitHub Copilot代理模式的新Find_symbol工具可帮助你在整个代码库中访问符号信息。
我们引入了适用于 GitHub Copilot 智能体 模式的新 find_symbol 工具,将语言感知符号导航直接引入代理。 使用 find_symbol 工具可以:
- 查找对项目中符号的所有引用
- 访问类型信息、声明和范围等元数据
在Copilot 对话助手窗格中选择的
启用工具后,Copilot回答问题或建议代码更改时自动使用这些工具。
![]()
支持的语言包括 C++、C#、Razor 和 TypeScript,以及安装了支持的语言服务器协议 (LSP) 扩展的任何其他语言。
为获得最佳结果,请编写明确的提示并使用支持工具调用的 AI 模型。 在 AI 模型比较中了解详细信息 - GitHub Docs
企业级 MCP 治理
使用增强的 MCP 治理功能轻松保护数据。
VISUAL STUDIO中的 MCP 服务器使用情况现在遵循通过GitHub设置的允许列表策略。 管理员可以在其组织内指定允许哪些 MCP 服务器。
配置允许列表后,只能连接到批准的 MCP 服务器。 如果尝试连接到未经授权的服务器,则会看到一条错误消息,说明不允许服务器。
这有助于组织控制哪些 MCP 服务器处理敏感数据并保持符合安全策略。
调试和诊断
智能手表建议
Copilot现在在观察窗口中建议上下文感知的表达式。
Copilot现在直接在“观察窗口”中提供上下文感知建议。 只需将光标放在文本框中,Copilot根据当前调试上下文建议相关表达式。
这会加快监视创建速度,减少猜测,并帮助监测最重要的运行时值,从而加快并精确化调试流程。
配置文件测试与 Copilot
轻松使用 Copilot 对测试进行分析。
我们在
Test Explorer 上下文菜单中添加了一个新的>Profile Copilot
![]()
选择后,分析代理会自动运行所选的测试并分析其性能,结合 CPU 使用率和检测数据来提供可操作的见解。
默认情况下,该命令使用 Instrumentation 分析,目前在 .NET 中受支持。 如果需要更深入的分析,可以直接从Copilot聊天窗口启动所选的测试,然后选择其他分析工具。
性能优化建议,实时分析加持
使用分析器代理提供调试时的性能提示。
现在,性能优化可以在调试时进行,而非在之后进行。 调试时性能提示和探查器代理可让你在单步执行代码时立即分析性能,并在需要时提供可操作的见解。
![]()
当您单步执行代码时,Visual Studio会在代码中内联显示每个步骤的执行时间和性能信号。 当你发现慢速的行或方法(例如缓慢的 LINQ 查询、计算密集型的辅助程序或任何花费时间超过预期的步骤)时,只需单击 Perf Tip,立刻让 Copilot 提供优化建议。
探查器代理在调试期间自动捕获运行时数据:运行时间、CPU 使用率和内存行为。 Copilot使用此数据来查明性能热点并建议有针对性的修补程序,使优化部分保留在常规调试工作流中,而不是稍后处理的内容。
.NET
使用 Copilot 修复漏洞
使用 Copilot 精确且轻松地修复 NuGet 包漏洞。
通过直接从 解决方案资源管理器 使用 Copilot 轻松修复 NuGet 包漏洞。 当Copilot检测到漏洞时,你将收到即时通知。 点击完成,Copilot会自动使用正确的依赖项更新来解析问题。
不再需要手动进行漏洞研究或寻找正确的包版本。 Copilot分析漏洞,并建议有针对性的修补程序,使依赖项安全,而不会中断工作流。 你应该在安全问题刚被发现时立即处理,而不是等到之后再解决。
这将安全性直接集成到日常工作中。 花更少的时间进行漏洞分类,花更多的时间建立信心。
截屏显示在解决方案资源管理器中,带有漏洞警告的 NuGet 包下方的“使用 Copilot 修复”通知链接
C++
MSVC 生成工具版本 14.51 预览版
Microsoft C++ (MSVC) 生成工具版本 14.51 预览版现在可用于 C++ 开发人员.
第一个 Microsoft C++ (MSVC) 生成工具版本 14.51 预览版现在可供 C++ 开发人员使用。 此版本包括多项新功能和运行时性能改进。 我们鼓励你浏览 MSVC 预览版,以便尽早适应重大更改和报告问题。 MSVC 预览版不会接收服务修补程序,因此不应在生产环境中使用。
安装 MSVC 生成工具 v14.51 预览版
若要安装,请根据目标架构,从 Visual Studio 安装程序中选择 适用于 x64/x86 的 MSVC 编译工具(预览版)或适用于 ARM64/ARM64EC 的 MSVC 编译工具(预览版)。 可以在 C++ 桌面开发工作负载下以及单个组件选项卡中找到这些组件。
![]()
在 “单个组件”下,还可以安装 MSVC v14.51 预览版的 Spectre 缓解库、MFC、ATL 或 C++/CLI 支持。
![]()
编译器前端
MSVC 在 C++23 合规性方面正在取得进展,并修复了 133 个开发者社区的问题。 将来的博客文章和发行说明中将共享更多详细信息。
编译器后端
在 SPEC CPU 2017 基准套件中,MSVC 构建工具版本 14.51 相比 v14.50 提升了运行时性能,在不同的生成方案中,其提升幅度如下:
- +6.5% 整数、Arm64、PGO
- +1.1% 浮点、Arm64、PGO
- +4.4% 整数、Arm64、VS 默认值
- +1.4% 浮点、Arm64、VS 默认值
- +5.0% Integer、X64、PGO
- +1.9% 浮点、X64、PGO
- +4.3% 整数、X64、VS 默认值
- +1.8% 浮点、X64、VS 默认值
优化改进:
- 改进了 SLP 向量器以考虑更多替代方法,例如使用部分向量或使用大于目标宽度的矢量大小,然后再映射到目标向量宽度。
- 改进了 SROA 在处理间接访问、大型结构和类型转换方面的能力。
- 允许循环向量化器提升运行时校验。
- 添加了在条件安全时消除逻辑或短路现象。
- 改进了条件移动指令的使用。
- 更好地优化 AVX 矢量内在函数。
- 默认情况下,对于很少使用的函数,更激进的内联。
- 更好地将 memset/memcpy 在 AVX 中进行内联扩展。
- 改进了跨块边界的拷贝传播。
- 添加了具有多个退出的外部循环和循环的取消滚动。
标准库更新
- 可以在 STL Changelog 中找到 MSVC 生成工具 v14.51 标准库更改的完整列表。 changelog 记录合并到 microsoft/STL main 的所有内容,不过最近合并的更改可能尚未在此特定预览版中体现。 这些更改仍将反映在未来的预览版或最终 14.51 版本中。
AddressSanitizer
- 通过修复多个代码生成和运行时问题,提高了试验 ASan ARM64 支持的质量。
已知问题
Issue #1:存在使用 Visual Studio (MSBuild) 生成器配置 CMake 目标的 bug。
解决方法:
- 以管理员身份打开 VS 内部人员的开发人员命令提示符(或你正在使用的 Visual Studio 版本的命令提示符)
- 运行以下命令,创建一个新文件夹,并将文件从另一个位置复制到其中:
pushd %VCINSTALLDIR%\Auxiliary\Build mkdir 14.51 copy .\v145\Microsoft.VCToolsVersion.VC.14.51.props .\14.51\Microsoft.VCToolsVersion.14.51.props copy .\v145\Microsoft.VCToolsVersion.VC.14.51.txt .\14.51\Microsoft.VCToolsVersion.14.51.txt
- 运行构建以确保其正常运行
问题 #2: PowerShell 中的命令行生成尚未为预览版配置。 将在将来的预览版中部署修补程序。
主要 bug 修复
| 主要 bug 修复 | 来自社区 |
|---|---|
| 升级到 Visual Studio 2026 后,IntelliSense 出现严重延迟 | 反馈票证 |
| VS2026 生成不正确的 FP 代码 | 反馈票证 |
| 当打开扩展名为“未知”的文件时,操作因对象的当前状态无效。 | 反馈票证 |
| 从 Visual Studio 18.3.0 版本开始,PackageReference 中的 NoWarn 已被忽略。 | 反馈票证 |
| 在某些情况下,Visual Studio 2026 在调试期间未在悬停时显示变量值 | 反馈单 |
| MSVC 优化器中的 Bug 修复,导致生成程序集代码时出现错误 | |
| VisualCppTools。 4.50.35724 PdbCopy.Exe Arm64 Pdb 复制程序崩溃 | 反馈票证 |
| 更新 MinGit 和 Git for Windows,以处理新的 allowNTLMAuth 设置 |
版本 18.3.3
发布日期 :2026 年 3 月 10 日。
| 主要 bug 修复 | 来自社区 |
|---|---|
| MSVC 优化器中的 Bug 修复,导致生成程序集代码时出现错误 |
| 已处理的安全咨询 | CVE | Descritpion |
|---|---|---|
| .NET拒绝服务漏洞 | CVE-2026-26130 | 由于资源消耗不受控制,ASP.NET Core中存在拒绝服务漏洞。 |
| .NET特权提升漏洞 | CVE-2026-26131 | 由于授权不当,权限提升漏洞存在于.NET中。 |
| Visual Studio信息泄露漏洞 | CVE-2025-66413 | 由于 NTLM 哈希泄漏到不受信任的服务器,MinGit 中存在信息泄露漏洞。 |
版本 18.3.2
发布日期 :2026 年 2 月 24 日。
| 主要 bug 修复 | 来自社区 |
|---|---|
| 编译器优化代码生成导致 v145 工具集引入的访问冲突 | 反馈单 |
| MSVC 优化器中的 Bug 修复,导致生成程序集代码时出现错误 |
版本 18.3.1
发布日期 :2026 年 2 月 18 日。
| 主要 bug 修复 | 来自社区 |
|---|---|
| 修复了调试过程中悬停时的变量值 | 反馈单 |
| 修复了在解决方案资源管理器中显示的 .xaml 文件缺少链接的问题 | 反馈单 |
| GitHub Copilot终端窃取焦点 | 反馈工单 |
| 为特定项目添加对构建性能代理进行支持和分析的功能 | |
| 修复 MSVC 优化器中导致生成错误汇编代码的 bug |
2 月更新 18.3.0
发布日期 :2026 年 2 月 10 日。
IDE
进行证书吊销检查
Visual Studio在网络调用期间检测到数字证书问题时发出警报 <> Visual Studio现在检查数字证书进行网络调用,并告知你是否存在问题。
如果发现问题,你将看到一个对话框,其中包含证书错误的详细信息。 你可以选择取消或继续连接。
![]()
建议启用此功能,但可以在 “工具→选项”→“环境”→“安全→证书”中将其关闭。
![]()
现在可以调整解决方案资源管理器中项之间的间距,以适应您的偏好,以提高可读性。
Visual Studio 2026 引入了 解决方案资源管理器 项之间的额外间距,以增强可访问性。 使用鼠标时,它被证明是有用的,因为它减少了误用的机会。 有些用户希望视图更紧凑,以便能够同时查看更多项目。
为了适应不同的首选项,Visual Studio现在允许调整解决方案资源管理器项之间的间距。 您可以选择默认间距和更紧凑的选项。
在下图中,可以看到默认间距(左侧)和紧凑间距(右侧)之间的差异:
![]()
转到 Tools → 选项 → 环境 → 视觉体验,并启用 Use compact spacing in 解决方案资源管理器 选项以切换到紧凑视图。 启用此选项后,更改将立即生效。
M365 代理工具包
载入 M365 代理工具包的 2 个新模板。
我们添加了一个新的 Teams 协作者代理模板,可帮助你生成可增强Microsoft Teams协作的代理。 这些代理使用 Teams SDK 和安全的 RSC 模式来帮助团队在聊天、频道和会议中进行日常工作。 他们可以汇总对话、自动化工作流、提取任务、回答问题,并在团队协作的地方提高工作效率。 该模板包括现成的基架和最佳做法,可帮助团队保持井然有序且富有成效。
Visual Studio 中的 Teams 协作代理模板 我们还添加了一个旅行社模板,演示了如何构建智能旅行助手。 代理回答与旅行相关的问题,帮助用户了解公司旅行策略,并查找符合组织准则的航班和酒店。 可以在 ATK 菜单中的查看示例中找到这些新示例。
旅行社使用 Azure OpenAI 和 Microsoft 365 检索 API 来访问存储在SharePoint或OneDrive for Business中的公司旅行文档和策略,直接在Microsoft Teams内提供上下文和符合策略的旅行建议。
![]()
生产力
快速滚动 📣
现在,通过在滚动鼠标滚轮时按住 Alt 键,可以更快地滚动。
滚动浏览大型文件现在更快、更轻松。 在滚动鼠标滚轮时按住 Alt 键,在查看代码或阅读文档时快速移动。
可以在 “工具→选项”中调整快速滚动速度,→文本编辑器→高级→触摸板和鼠标滚轮滚动敏感度。
![]()
此功能可帮助你跳转到不需要大量滚动的分区。 尝试一下!
感谢 Aymen Hamadi 提议此功能,并感谢投票支持的每一个人!
📣 请查看feature ticket以分享您的反馈并继续讨论。
现在可以禁用在 解决方案资源管理器 中的文件下方显示符号。
解决方案资源管理器用于在文件下显示符号(如类、方法和属性)以帮助导航代码。 一些用户发现这会使视图变得混乱,因为每个文件都有一个扩展器图标,例如文件夹和项目。 现在,你可以关闭此功能,让外观更简洁。
以下是符号之前的出现方式:
![]()
若要隐藏文件下的符号,请转到 工具 → 选项 → 项目和解决方案 → 常规,并取消选中在解决方案资源管理器中的文件下显示符号。 然后,解决方案资源管理器将仅显示文件,而不显示额外的符号:
仅显示文件
感谢 Escalante Adriano 建议此功能,并感谢所有投票支持此功能的人!
📣 请查看feature ticket以分享您的反馈并继续讨论。
新的Markdown预览功能📣
在 Visual Studio Markdown 编辑器中查看并放大/缩小预览内容。
Visual Studio Markdown 编辑器可让你更好地控制预览。
- 你可以在不同预览模式之间切换:拆分预览(同时显示编辑器和预览)、打开预览(仅显示预览)和编辑 Markdown(仅显示编辑器)。 仅预览模式帮助你专注于渲染后的内容,尤其适合大型图像或复杂的 Mermaid 图表。
- 预览 Mermaid 图表时,使用左上角的缩放控件进行放大或缩小。这让查看大型图表和细节变得更容易。
![]()
试用这些新控件,告诉我们你的想法!
📣 请查看feature ticket以分享您的反馈并继续讨论。
微不足道的行压缩
启用语法行压缩,以便更好地利用屏幕的垂直空间。
语法行压缩可在编辑器中提供更多垂直空间。 没有字母或数字的行压缩 25%,让你一次性看到更多代码,而不会损害可读性。 常规行保持相同的高度。 在下图中,右侧显示压缩已启用,与左侧相比,可以在同一空间内看到更多的行。
![]()
通过在 工具→选项→“文本编辑器”→“高级 ”中启用此功能,方法是选中“ 压缩空白行 ”和 “压缩行”中没有任何字母数字字符。 生产力 Power Tools 中常用的功能现已内置于Visual Studio中。
中间单击滚动 📣
按下滚轮,移动鼠标以快速滚动浏览文档。
现在,你可以解锁鼠标中间按钮的全部潜力,以便更快地导航。 按下滚轮,移动鼠标以快速滚动浏览文档。 这样就可以更轻松地浏览大型文件,而无需依赖传统的滚动条或重复滚轮滚动。
![]()
此功能在 18.3 Insiders 2 中默认处于关闭状态,需要通过 工具→选项启用,→文本编辑器→高级→中间单击滚动。 尝试一下,与我们分享你的反馈!
感谢投票支持此功能的每个人!
📣 请查看feature ticket以分享您的反馈并继续讨论。
编辑器中的更窄左边距 📣
通过减少“快速操作”图标占用的空间来缩小左边距。
代码编辑器中的左边距现在更窄,可为代码提供更多水平空间。 我们已将“快速操作”图标(例如灯泡或螺丝刀)从边距移动到编辑器中,当有可用的修复或重构时,此图标会在代码中内联显示。
左侧:较窄的左边距与内联快速操作图标,右侧:原有边距
若要立即试用体验,请转到 “工具”→“选项”→“文本编辑器”→“高级 ”,并选中 编辑器中的“显示快速作”图标。
📣 请查看feature ticket以分享您的反馈并继续讨论。
GitHub Copilot
企业级 MCP 治理
使用增强的 MCP 治理功能轻松保护数据。
VISUAL STUDIO中的 MCP 服务器使用情况现在遵循通过GitHub设置的允许列表策略。 管理员可以在其组织内指定允许哪些 MCP 服务器。
配置允许列表后,只能连接到批准的 MCP 服务器。 如果尝试连接到未经授权的服务器,则会看到一条错误消息,说明不允许服务器。
这有助于组织控制哪些 MCP 服务器处理敏感数据并保持符合安全策略。
NuGet MCP Server
提供一种更新具有已知漏洞的软件包的方法,并可以检索有关 GitHub Copilot 的软件包的实时信息。
NuGet MCP 服务器是内置的,但必须启用一次才能使用其功能。 有关详细信息,请参阅NuGet MCP Server 服务器的文档。
入门
若要启用 NuGet MCP 服务器,请按照 Visual Studio 2026 中的以下步骤操作:
- 打开 GitHub Copilot 对话助手 窗口,确保已登录。
- 单击底部工具栏中的工具图标以显示“工具”菜单。
- 找到名为“nuget”的 MCP 服务器,并选中该框以启用它。
![]()
修复包漏洞
NuGet MCP 服务器可以帮助你识别和修复项目中的包漏洞。 若要使用 MCP 服务器修复漏洞,请在 GitHub Copilot 对话助手 窗口中输入以下提示:
修复我的包漏洞
MCP 服务器将分析项目的依赖项,并建议更新具有已知漏洞的包。
更新所有包
NuGet MCP 服务器还可以将包更新到最新的兼容版本。 若要使用 MCP 服务器更新所有包,请在 GitHub Copilot 对话助手 窗口中输入以下提示:
将所有包更新到最新的兼容版本
MCP 服务器将分析项目的目标框架,并建议更新与项目兼容的最新版本的包。
将包更新到特定版本
NuGet MCP 服务器可将特定包更新为指定的版本。 为此,请在 GitHub Copilot 对话助手 窗口中输入以下提示:
将包 [PackageName] 更新为版本 [VersionNumber]
Support
如果 NuGet MCP 服务器出现问题或有任何其他反馈,请在 NuGet GitHub 存储库上提出问题。 请在问题模板中提供请求的信息,以便我们可以更好地了解并解决你的问题或建议。
preview markdown from Copilot 对话助手
直接在 Visual Studio 的 Markdown 编辑器中预览由 Copilot 对话助手 生成的任何 markdown 内容。
现在可以直接在 Visual Studio Markdown 编辑器中预览Copilot 对话助手生成的任何 Markdown 内容。 以前,此功能仅适用于美人鱼图。
![]()
当Copilot 对话助手生成 markdown 内容时,请单击聊天窗口右上角的 Preview 按钮以查看呈现的预览。 在此处,可以根据需要编辑和保存 markdown 内容。 这样,便可以快速可视化和处理 Markdown 文件,而无需手动复制和粘贴。
单击以接受代码完成
只需单击一下即可接受至光标位置的代码补全。
您是否曾想过通过单击来部分接受代码补全建议? 使用新的 单击接受 功能,您可以单击代码补全建议,将其接受到光标所在位置。 当您将鼠标悬停在代码补全建议上时,光标经过的段落会被高亮显示,指示该建议将被接受。
![]()
此功能可让您更好地控制要接受的完成量,从而更轻松地将建议集成到代码中。 如果你喜欢使用键盘,你仍然可以按 Ctrl+右箭头 逐个单词接受,或者按 Ctrl+ 逐行接受。
试用单击接受功能并与我们共享你的反馈。
彩色代码完成
代码补全现已通过语法高亮以提高可读性。
GitHub Copilot 和 IntelliCode 的代码补全功能现在使用语法高亮来对代码进行着色,以帮助你快速解析建议的代码。 以前,完成效果以单个颜色显示,因此很难区分变量、函数和其他代码元素。 若要立即试用着色,可以转到 “工具”→“选项”→“文本编辑器”→“代码完成 ”,并选中“ 使用彩色文本完成代码”。
![]()
为了将建议与实际代码区分开来,着色的完成建议使用较低的不透明度和斜体样式。 可以通过转到 “工具→选项”→“环境”→字体和颜色 以及修改 “代码完成 ”项来进一步自定义样式。
让我们知道你对着色的看法!
Copilot内存更新📣
通过教授Copilot您的编码标准和最佳做法,使其自定义适应您的需求,从而创建跨会话的持久一致性!
使用记忆来教会 Copilot 你的编码标准和项目最佳实践。 保存后,Copilot在所有聊天会话中始终如一地应用您的首选项,使其真正具备对项目的感知能力。
![]()
Copilot记忆的工作原理
记忆功能会在你聊天时智能检测你的偏好。 更正Copilot的行为、指定标准或要求其记住某些内容时,会看到确认提示。 请选择将首选项保存到个人说明 (
%USERPROFILE%/copilot-instructions.md) 或存储库说明 (/.github/copilot-instructions.md) 中。每次聊天时,你都会教Copilot以更好地响应和记录自己和团队的最佳做法。
感谢 Peter Matthews 建议此功能,也感谢所有投票支持这个功能的人!
📣 请查看feature ticket以分享您的反馈并继续讨论。
通过斜杠命令访问自定义提示
快速使用 Copilot 对话助手 中的斜杠命令调用你喜欢的自定义提示词。
现在,可以使用Copilot 对话助手中的斜杠命令更快地调用喜欢的自定义提示。 不必输入
#并在所有可用参考中搜索,只需键入/,你的自定义提示就会显示在 IntelliSense 列表顶部。 自定义提示标有书签图标,而默认系统提示没有图标,并且会显示在下面。
![]()
我们还添加了两个新的斜杠命令以帮助你创建自定义说明和提示:
/generateInstructions:为项目生成存储库级自定义说明。 不确定如何为存储库编写自定义说明文件? 此命令可以满足你的需求。 它使用项目上下文(如编码样式和首选项)为你的项目自动生成copilot-instructions.md文件。/savePrompt:从当前线程中提取可重用的提示并将其保存到提示文件。 键入要重复使用的提示后,请使用此命令,以便稍后可以通过/命令轻松引用提示。欢迎立即试用全新的斜杠命令,并与我们分享您的想法!
调试和诊断
IEnumerable 可视化工具中的数据提示
在 IEnumerable 可视化工具中进行深度对象检查。
你现在可以在调试时使用 IEnumerable 可视化工具中的数据提示来检查对象。 将鼠标悬停在网格中的任何单元格上,可以查看该值背后的完整对象,享受与在编辑器和“监视”窗口中相同的 DataTip 体验。
将鼠标悬停在网格单元格上时,会显示一个数据提示,其中包含对象的完整属性。
这使得调试复杂类型或嵌套类型的集合更加轻松。 无论你是在使用域对象的
List<T>,还是在使用包含结构化值的字典,单个悬停都会显示所有对象的属性。
分析调用堆栈
一键式调用堆栈分析,了解应用的运行时状态。
我们将介绍使用 Copilot 分析调用堆栈来帮助回答一个简单但关键的调试问题:现在我的线程或应用正在做什么? 调用堆栈窗口中的新 Analyze 调用堆栈按钮允许你单击一下将当前调试状态发送到Copilot,使用应用状态分析打开聊天窗口。 无需进行任何猜测。
![]()
Copilot了解同步和异步调用栈,并标注相关帧。 无论应用是在等待异步任务还是在异步执行期间中断,你都可以单击带批注的帧,以清楚地了解执行暂停的原因、线程正在等待的内容以及问题出在哪里。
这会将调用堆栈从静态帧列表转换为交互式调试体验。 Copilot可帮助你快速了解运行时行为并恢复修复实际问题,而不是手动重新构造异步流。
具有单元测试支持的分析器代理
探查器代理扩展到单元测试工作流。
我们为探查器代理添加了单元测试支持。 现在,你可以使用现有的单元测试来验证性能改进,从而可以更轻松地跨更多方案衡量和优化性能。 除了 BenchmarkDotNet 基准之外,代理程序还会发现测试性能关键代码路径的相关单元测试。
如果不存在合适的测试或基准,那么它会自动创建一个轻型度量项目来捕获基准指标并在优化后比较结果。
![]()
此单元测试优先方法还能够为 C++ 方案提供探查器代理支持,在这些方案中,基准并不总是实用,但单元测试已经存在。
探查器代理将分析性能数据、显示瓶颈、生成或增强单元测试或基准、建议有针对性的优化,并验证引导循环中的改进。 你将获得探查器代理的全部功能,此探查器代理现在基于单元测试,适用于更多语言,并且更易于跨实际项目采用。
桌面
WinForms 专家代理
编码代理现已包含由团队的专家精心制定的 WinForms 开发特殊说明。
WinForms 专家代理是一个全面的指南,可帮助你解决 WinForms 开发的细微差别挑战。 它涵盖几个关键领域:
设计器代码与常规代码:WinForms 项目具有两个不同的代码上下文-设计器生成的序列化代码和新式业务逻辑。 代理知道可在每个上下文中使用的 C# 特性。
Modern .NET模式:.NET 8-10 的代理器已完全更新,包括:
- 使用社区工具包的 MVVM 数据绑定模式。
- 具有正确 InvokeAsync 重载的 async/await 模式。
- 深色模式支持和高 DPI 感知。
- 正确位置的可为空引用类型(NRT)。
布局最佳做法:获取有关使用 TableLayoutPanel 和 FlowLayoutPanel 的指南,这些布局适用于不同屏幕大小和缩放因素的响应式 DPI 感知布局。
CodeDOM 序列化管理:了解 WinForms 设计器中属性序列化的关键规则,以便避免属性
[DefaultValue]和ShouldSerialize*()方法的常见陷阱。异常处理:对异步事件处理程序和应用程序级异常处理使用适当的模式来防止进程崩溃。
代理的说明是详细的,涵盖从控件命名约定到辅助功能要求的所有内容。 就像让高级 WinForms 架构师评审你的代码的每一行一样。
.NET
NuGet 审核源
Visual Studio 现在支持使用 NuGet Audit 来发现包漏洞的审核源。
需要审核 NuGet 包是否存在漏洞,而不使用 nuget.org 作为包源? 现在可以配置单独的审核源。
Visual Studio现在允许为 NuGet Audit 配置审计来源。 这些来源独立于你的包源来发现包漏洞。 有关详细信息,请参阅 有关审核源的文档。
NuGet 程序包管理器 UI
NuGet 程序包管理器 UI 显示从配置的审核源中找到的漏洞。
在此示例中,专用源用作包源,但检测到已知漏洞,因为配置了审核源。
![]()
配置审核源
若要配置审核源,请导航到 Tools → Options → NuGet 程序包管理器 → Sources。
审核源在还原期间提供漏洞数据,而无需充当包源。 如果未配置任何审核源,NuGet Audit 会改用包源。
若要设置审核源,请选择 “使用单独的源进行漏洞审核”。 这会显示用于管理审核源的表,类似于包源表。
![]()
若要将 nuget.org 用作审核源,请使用标准索引 URL:
https://api.nuget.org/v3/index.json
![]()
Web 实时预览弃用
Web Live 预览版已弃用并删除。
我们已从 Visual Studio 2026 弃用并删除了 Web Live Preview。 如果需要编辑 ASP.NET Web Forms,请使用内置的 Web 窗体设计器。
有关详细信息,请参阅 ASP.NET Web Forms Designer 文档。
热重载 改进
更快速、更可靠的 Razor 热重载,支持需要重启的编辑自动重启功能。
我们对Visual Studio中的热重载体验进行了多项改进。
改进了 Razor 文件的 热重载 性能和可靠性
由于在 Roslyn 进程内共同运行 Razor 编译器,在 热重载 期间编辑 .razor 文件要更快、更高效(解决了关于 Blazor 热重载 可能需要几十秒的反馈问题)。 使用热重载时,此更改也会提高整体可靠性。
减少了被阻止的编辑(减少了“不当编辑”)
我们扩展了在热重载期间允许的代码更改。 以前触发强制编辑的多个编辑(需要重新生成和重启的更改)现在可以无缝应用。 一些现在不再被视为粗鲁编辑的示例包括:
- 重命名文件
- 编辑具有默认参数值的 Lambda表达式的代码
- 使用字段关键字编辑属性访问器
“粗暴编辑”时自动重启
热重载现在可以在进行不受支持的更改(“粗鲁编辑”)而不是结束整个调试会话时自动重启应用的进程。
要启用此功能,请编辑项目文件以包含此属性声明。
<PropertyGroup> <HotReloadAutoRestart>true</HotReloadAutoRestart> </PropertyGroup>也可以在 Directory.Build.props 文件中设置此值。 这种简化的自动重启适用于可以快速重启流程的项目类型(例如,某些 Aspire 或 Web 项目),因此你可以继续调试,同时尽量减少中断。
这是一个基于进程的重启。 如果正在调试 4 个项目,则只有更改的项目(以及任何依赖的项目)将重新生成并重启。
Razor 编辑器改进
在 Visual Studio 中,更快更智能的 Razor 编辑器,联合托管可大幅提升速度、可靠性等多项性能。
以下是 Razor 编辑器的一系列显著改进:
性能和可靠性(共同托管)
Razor 编译器和工具使用体验现在共同托管于 Roslyn LSP 服务器内,大大加快了 Razor 文件更新(例如,热重载 更改应用速度更快),并提高了在编辑过程中的可靠性。
简化标签代码操作(社区贡献)
添加了一个新的代码修复功能,当没有内容或所需的子元素存在时,将空组件标签转换为自闭合标签(由 Peter Juhasz 贡献)。 例如,
<Component Attribute="Value"> </Component>简化为<Component Attribute="Value" />将样式块提取到 .razor.css
现在,可以使用代码操作将 Razor 组件中的内联
<style>部分提取到单独的 .razor.css 文件中。 这有助于通过自动创建或更新与组件相匹配的 .razor.css 文件来隔离组件特定的样式 Blazor 的 CSS 隔离。@bind:event IntelliSense
改进了 Razor IntelliSense,为
@bind:<event>值提供完成建议(由 Peter Juhasz 贡献)。 当对自定义事件使用双向数据绑定时(例如,Blazor 中的@bind="Value" @bind:event="oninput"),编辑器现在会自动完成有效的事件名称,如 oninput 或 onchange。格式设置改进
新的 Razor 格式设置引擎进行了许多漏洞修复和功能增强。 Razor 编辑器现在在 Razor 文件中更加准确地应用 C# 格式化样式选项(例如来自 Visual Studio 配置的间距和缩进规则),并解决了以前版本中(尤其是涉及混合 HTML/C# 内容时)的各种格式怪癖。
调试工具提示增强功能
改进了 Razor 文件中的调试器悬停工具提示。 在调试会话期间将鼠标悬停在 Razor 文件中的变量或组件上时,Visual Studio现在更可靠地显示变量值和对象预览,从而更轻松地在运行时检查数据。
导航到 Tag Helpers 的定义
利用共同托管的新功能,现在可以直接从 Razor 文件导航到 ASP.NET Core MVC 标记帮助程序的定义及其属性。 点击 F12 (或 Ctrl+单击)标记帮助程序(例如
<input asp-for=" ">,或任何 MVC 标记帮助程序用法)将跳转到其源定义。 这项期待已久的功能使浏览和了解项目中的标记帮助程序变得容易得多。常规 IntelliSense 修复
解决了多个 Razor 编辑器的 IntelliSense 问题。 HTML 代码片段(如键入
div+Tab以展开<div>块)现在一致地显示在 Razor 文件中(以前它们有时无法显示)。 连字符属性和组件参数的自动完成(例如data-*属性或带短划线的 Blazor 组件参数)变得更加稳健,因此在这些情况下,建议和自动完成功能如预期般工作。Razor 编译器的优化
为 Razor 和 Blazor 项目引入了显著的编译器性能和内存使用率改进。 包含许多 Razor 组件的解决方案可以实现更快地生成,并减少内存开销。 这些优化使编辑和生成 Razor 页面更加快捷,解决了先前关于大型 Blazor 应用中内存使用率过高和增量生成缓慢的反馈。
用于 ASP.NET Core 的旧版 Razor 编辑器
ASP.NET Core的旧版 Razor 编辑器已完全替换为在共同托管模式下运行的现代 Razor 编辑器。 旧编辑器不再可用。
“工具”>选项中用于启用旧版 Razor 编辑器的选项不再使用,并且将在Visual Studio的未来版本中删除。
更智能的 .NET 测试生成
通过GitHub Copilot的智能测试生成,更快地创建和优化单元测试。
Visual Studio现在包括使用GitHub Copilot进行更智能的测试生成。 你可以快速创建和优化测试,提高代码覆盖率和可信度。 此专门构建的测试工作流适用于 C# 以及 xUnit、NUnit 和 MSTest 等热门框架。
![]()
无论是启动新项目还是改进现有项目,通过GitHub Copilot进行测试都有助于更快地编写测试,并保持工作流程的正常运转。 只需在 GitHub Copilot 对话助手 中键入 @Test,描述要测试的内容,Copilot为你生成测试代码。
C++
C++ 应用的现代化
GitHub Copilot 应用的现代化改进现已在 C++ 技术预览版中提供。
我们很高兴地宣布,GitHub Copilot App 现代化现已在公开预览版中提供,可用于 C++。
适用于 C++ 的 GitHub Copilot 应用现代化可帮助更新 C++ 项目,以使用最新版本的 MSVC 并解决与升级相关的问题。
您可以在 Microsoft Learn 上找到我们的用户文档。
入门指南
- 安装 Visual Studio 2026 版本 18.3 或更高版本,并选择任意 C++ 工作集。
- 打开 MSBuild(.sln)或 CMake 项目,该项目使用 MSVC 在Windows上生成。
- 在 GitHub Copilot 对话助手 窗口中请求 @Modernize 更新项目以使用 MSVC 版本 14.50,或通过解决方案资源管理器中解决方案上的右键菜单启动 Modernize 代理,或者从主菜单中单击 Project → 重定目标解决方案。
![]()
应用现代化
GitHub Copilot应用现代化 for C++现已在私密预览中提供。
我们很高兴地分享 GitHub Copilot 的 C++ 应用现代化功能现在以私密预览版提供。 GitHub Copilot 应用程序的现代化,有助于将您的 C++ 项目迁移到最新版的 Microsoft C++(MSVC)生成工具。
![]()
想试一试? 在 aka.ms/cppagents 注册个人预览版。
代码编辑工具代理模式
C++ 代码编辑工具的 GitHub Copilot 代理模式现已在私密预览中提供。
我们很高兴地分享适用于 GitHub Copilot 代理模式的 C++ 代码编辑工具现在以公共预览版提供。 这些工具可帮助Copilot更有效地导航 C++ 代码库,以便在重构或修改代码时获得更好的建议。 Copilot现在可以:
- 查找对项目中符号的所有引用
- 访问类型信息、声明和范围等元数据
- 绘制类继承层次结构
- 关注函数调用链
开始之前:
- 请确保在 IDE 中启用了GitHub Copilot代理模式。
- 打开C++项目。
- 转到 Tools → 选项 → GitHub → Copilot,然后启用 允许 Copilot 使用 C++ 工具。
- 重启 IDE 或解决方案。
- 使用 Copilot 对话助手 中的 Tools 图标启用特定工具。
![]()
注意:在公共预览版期间,工具名称和 UI 可能会更改。
启用工具后,Copilot在回答问题或建议代码更改时自动使用这些工具。
![]()
为获得最佳结果,请编写明确的提示并使用支持工具调用的 AI 模型。 在 AI 模型比较中了解详细信息 - GitHub Docs
Windows 的构建性能
GitHub Copilot 的构建性能现已在公共预览版中提供,适用于 Windows。
我们很高兴地宣布,Windows的GitHub Copilot生成性能现已在公共预览版中提供。
Windows GitHub Copilot 构建性能
GitHub Copilot 在 Windows 平台上的构建性能使用 Build Insights 来识别和修复使用 MSVC 的 C++ 项目中的构建性能问题。 通过分析生成过程,此代理会建议优化并实施更改以缩短生成时间:
- 通过创建预编译标头并优化包含路径(例如删除未使用的包含项)来缩短标头分析时间。
- 重构函数以缩短和消除函数分析时间。
- 实现 C++ 代码现代化以使用更新的语言功能来提高编译速度。
- 优化生成设置以利用并行生成和最佳链接器设置。
入门指南
- 请确保在 IDE 中启用了GitHub Copilot代理模式。
- 打开C++项目。
- 在 GitHub Copilot 对话助手 窗口中询问 @BuildPerfCpp 以优化生成时间。
注意:Build Insights 需要运行并收集构建性能数据。 它还需要 ETL 跟踪收集权限。 接受 UAC 提示一次,以启用 Build Insights 从 MSVC 收集 ETW 事件。
@BuildPerfCpp Ask 在GitHub Copilot聊天中优化生成时间“ />
可扩展性
已重新定位实验实例
向“扩展”菜单添加了“启动实验实例”和“重置实验实例”命令。
启动和重置实验性实例命令现在位于 “扩展→扩展开发 ”菜单中。 不再需要使用Windows“开始”菜单快捷方式来启动或重置实验Visual Studio实例。
![]()
这些命令更易于查找并帮助你避免意外启动根后缀实例,这些实例仅用于Visual Studio扩展开发。
如果偏好,你仍然可以使用
[installdir\vssdk]路径下的旧快捷方式。
主要 bug 修复
| 主要 bug 修复 | 来自社区 |
|---|---|
| 更新了Visual Studio安装程序,以包括 10.0.26100 Windows SDK 的最新服务版本(10.0.26100.7705)。 | 反馈单 |
| Git 存储库中的表列不再可更改 | 反馈单 |
| 项目文件夹中的 TFVC 项目不被视为在源代码管理下 | 反馈单 |
版本 18.2.2
发布日期 :2026 年 2 月 10 日。
| 主要 bug 修复 | 来自社区 |
|---|---|
| 修复了 MSVC 优化器中导致生成程序集代码错误的 bug。 |
| 已处理的安全咨询 | CVE | Descritpion |
|---|---|---|
| Github Copilot和Visual Studio远程代码执行漏洞 | CVE-2026-21256 | 此安全更新解决了一个漏洞,该漏洞中,GitHub Copilot和Visual Studio中的命令使用的特殊元素未能被适当中和,允许未经授权的攻击者通过网络执行代码。 |
| Github Copilot和Visual Studio安全功能绕过漏洞 | CVE-2026-21257 | 此安全更新解决了一个漏洞,即在GitHub Copilot和Visual Studio中,命令中使用的特殊元素未能被正确中和(“命令注入”),允许授权攻击者通过网络提升权限。 |
| .NET安全功能绕过漏洞 | CVE-2026-21218 | 此安全更新可解决漏洞:在.NET和Visual Studio中对缺少的特殊元素进行不当处理时,授权攻击者可以通过网络执行欺骗。 |
版本 18.2.1
发布日期 :2026 年 1 月 20 日。
| 主要 bug 修复 | 来自社区 |
|---|---|
| VS2026 缺少Microsoft。VCRedistVersion.v143.default.props | 反馈单 |
| 错误 C1001:内部编译器错误 | 反馈单 |
1 月更新 18.2.0
发布日期 :2026 年 1 月 13 日。
GitHub Copilot
NuGet MCP Server
提供一种更新具有已知漏洞的软件包的方法,并可以检索有关 GitHub Copilot 的软件包的实时信息。
NuGet MCP 服务器是内置的,但必须启用一次才能使用其功能。 有关详细信息,请参阅NuGet MCP Server 服务器的文档。
入门
若要启用 NuGet MCP 服务器,请按照 Visual Studio 2026 中的以下步骤操作:
打开 GitHub Copilot 对话助手 窗口,确保已登录。
单击底部工具栏中的工具图标以显示“工具”菜单。
- 找到名为“nuget”的 MCP 服务器,并选中该框以启用它。
![]()
修复包漏洞
NuGet MCP 服务器可以帮助你识别和修复项目中的包漏洞。 若要使用 MCP 服务器修复漏洞,请在 GitHub Copilot 对话助手 窗口中输入以下提示:
修复我的包漏洞
MCP 服务器将分析项目的依赖项,并建议更新具有已知漏洞的包。
更新所有包
NuGet MCP 服务器还可以将包更新到最新的兼容版本。 若要使用 MCP 服务器更新所有包,请在 GitHub Copilot 对话助手 窗口中输入以下提示:
将所有包更新到最新的兼容版本
MCP 服务器将分析项目的目标框架,并建议更新与项目兼容的最新版本的包。
将包更新到特定版本
NuGet MCP 服务器可将特定包更新为指定的版本。 为此,请在 GitHub Copilot 对话助手 窗口中输入以下提示:
将包 [PackageName] 更新为版本 [VersionNumber]
Support
如果 NuGet MCP 服务器出现问题或有任何其他反馈,请在 NuGet GitHub 存储库上提出问题。 请在问题模板中提供请求的信息,以便我们可以更好地了解并解决你的问题或建议。
.NET
GitHub Copilot 应用程序现代化改造
用于 .NET 升级的动态三阶段工作流。
我们引入了三个阶段方法,可帮助你评估、规划和执行.NET升级,并提供更深入的见解和可见性。 评估文件概述了过时的 NuGet 包、目标版本、项目计数、升级复杂性和 API 分析。
现在,根据该评估动态生成计划文件,从而提供与项目状态保持一致的升级计划。 我们将旧的进度记录文件替换为在任务运行时更新的任务执行文件。
这三个文件都是完全动态的、可编辑的,并在整个过程中保持同步,使您从头到尾提供更透明和协作的升级体验。
C++
Visual Studio 2022中的MSVC版本
MSVC 生成工具 v14.30-v14.43 现已在 Visual Studio 2026. 为了更轻松地将现有的 C++ 项目迁移到 Visual Studio 2026,我们现在在 Visual Studio 2026 安装程序的 个别组件 选项卡中包含 Microsoft C++ (MSVC) 生成工具版本 14.30-14.43。这些版本最初在 Visual Studio 2022 中发布。
由于此更改,Visual Studio 2022(v17.0-v17.14)用户可以在升级到 Visual Studio 2026 时继续使用其现有编译器版本。 只需安装所需的版本,并在最新的 IDE 中加载项目即可开始使用。
在将来的更新中,还将向 Visual Studio 设置助手添加新的 MSVC 版本的支持。
主要 bug 修复
| 主要 bug 修复 | 来自社区 |
|---|---|
| 网站发布缺少 FTP 选项。 | 反馈单 |
| 打印框的格式文档不会消失 (VS2026) | 反馈单 |
| 修复了导致某些涉及将转换函数转换为引用类型的三元表达式被视为右值而不是左值的问题 | 反馈单 |
| 调试器和Visual Studio 18.1.1 崩溃 | 反馈单 |
版本 18.1.1
发布日期 :2025 年 12 月 16 日。
| 主要 bug 修复 | 来自社区 |
|---|---|
| msvc 14.50.35717 中的内部编译器错误 | 反馈单 |
| VS2026 (18.0.0) 缺少安装 LTSC C++工具的选项 | 反馈单 |
| VS2026 扩展更新后出错 | 反馈单 |
| 修复了一个问题,即在 Visual Studio 2026 上,ReSharper 用户的启动时间比在 Visual Studio 2022 上更长。 | 反馈单 |
| 工具Windows在其上下文菜单中没有关闭项 | 反馈工单 |
| 在为 CHPE 构建 UCRT 时观察到非确定性输出 | 反馈单 |
| MCP 注册表窗口中的搜索已中断 | 反馈单 |
| 修复了 ARM64 Enclave VCRuntime 无法正确链接的问题。 | |
| 更新了Visual Studio安装程序,以包括 10.0.26100 Windows SDK 的最新服务版本(10.0.26100.7175)。 |
12 月更新 18.1.0
发布日期 :2025 年 12 月 9 日。
IDE
MCP 身份验证管理
现在可以在 Visual Studio 的统一体验中管理 MCP 服务器的身份验证凭据。
现在可以在Visual Studio的一个位置管理 MCP 服务器的身份验证凭据,包括来自Visual Studio密钥链外部的凭据,例如Microsoft和GitHub帐户。 通过全新的 MCP 服务器管理体验访问此功能。
![]()
MCP 服务器指令
现在可以直接在 Visual Studio 中查看可能随 MCP 服务器一起提供的说明文件。
MCP 服务器说明是服务器发送给主机的快速系统提示,向你展示如何使用该服务器的工具。 现在可以直接在Visual Studio中查看这些说明文件。 只需打开全新的 MCP 服务器管理界面即可进行查看。
Visual Studio 中的 MCP 服务器指令窗口
MCP 引证和采样
支持 MCP 信息提取,以及在聊天中进行信息提取和抽样的新用户体验。
Visual Studio中的 MCP 现在支持引证。 模型上下文协议 (MCP) 允许服务器在交互过程中通过客户端向你请求额外信息。 此流程可帮助你控制用户交互和数据共享,同时让服务器收集所需的详细信息。
现在,你可以直接在聊天窗口中响应 MCP 采样和信息收集请求,体验更简洁、更流畅。
![]()
![]()
MCP 服务器管理
在 Visual Studio 中管理 MCP 服务器的更简单、更统一的用户体验。
现在,使用统一体验更轻松地管理 Visual Studio中的 MCP 服务器。 你可以在简化的管理 UI 中快速配置、验证身份并查看服务器状态。
![]()
在工具选择器窗口中,单击任意服务器的浮出控件中的“配置”即可开始操作。
![]()
GitHub Copilot
GitHub Cloud Agent preview
将任务委派给云代理,让Copilot处理烦琐的工作,而您可以保持专注。
GitHub云代理现已以预览版提供。 可以将重复或耗时的任务(如 UI 清理、重新执行组件、文档更新和多文件编辑)卸载到云代理,稍后查看更改。
启用云代理
若要启用云代理,请执行以下作:
单击Copilot徽章下拉菜单。
选择“设置和选项”→编码代理(预览版)。
- 重启Visual Studio。
Note: 云代理要求解决方案连接到GitHub存储库。
工作原理
启用后,可以直接从Visual Studio委托任务。 云代理会起草更改以供审阅,因此你可以专注于生成和调试项目的核心,而不是处理繁琐的编辑。
我们正在根据你的反馈积极改进此体验。 不久后,你将在 Visual Studio 中看到直接的拉取请求链接,可以更加轻松地查看由代理生成的更改,而不打断你的工作流程。
调试和诊断
更智能的断点故障排除
Copilot现在可以自动修复未绑定断点,从而加快调试速度。
Copilot对未绑定的断点的支持已经提供了一段时间,可以通过在悬停提示中单击“询问 Copilot”功能来使用,但在Dev18中,它迎来了重大升级。 以前,Copilot将读取错误消息并建议后续步骤。
![]()
现在,它会执行更深入的自动分析检查文件、检查加载的模块和符号、识别正确的模块以及为你加载正确的符号。
![]()
这种改进还扩大了符号问题以外的覆盖范围。 Copilot 现在有助于解决由错误调试引擎、JMC 禁用断点或托管代码优化、过时的二进制文件等引起的问题。 现在,只需单击即可修复大多数未绑定断点问题,使整个体验更快、更可靠。
Debugger Copilot 使用输出窗口
Debugger Copilot协助利用输出窗口的上下文信息进行更智能的调试。
在 Dev 18 中,调试器 Copilot 辅助功能已升级,在调试模式下可以利用输出窗口中的运行时详细信息。 分析异常时,Copilot会根据需要请求访问输出窗口上下文的权限。
在下面的示例中,异常帮助程序使用输出窗口上下文来提供更准确和有用的响应。
![]()
此上下文现在可在调试模式下使用,提供更丰富的见解以增强异常帮助工具、变量分析、代码检查和其他调试情境。 通过组合代码和运行时见解,此升级可提高异常帮助程序响应的质量,帮助你更快地查明根本原因、建议精确修复并突出显示相关代码。 更可靠、更高效且具备上下文感知的调试体验贯穿于多个调试工作流。
.NET 分析器代理的计数器
Profiler代理通过支持新的.NET计数器,提供了更深入的ASP.NET见解。
Copilot Profiler 代理程序现在在 ASP.NET 场景中使用 .NET 计数器,让你更深入地洞察应用程序的性能表现。 除了 CPU 和内存性能分析之外,你现在还可以获得:
用于更智能的上下文感知诊断的项目特征检测
基于计数器的分析,更快捷地揭示特定于 ASP.NET 的性能问题
- 增强的端到端见解,可更准确地确定瓶颈
使用计数器工具的示例结果:
![]()
此升级使探查器代理对 ASP.NET 应用更强大,有助于尽早发现问题、了解根本原因并自信地采取行动。
结合 GitHub 存储库上下文的异常分析
Exception Analysis 现在使用GitHub存储库上下文来提供更智能的上下文感知调试见解.
我们通过存储库上下文增强了异常助手,提供更深入的见解,以便更快、更精准地进行调试。 异常助手现在会交叉引用您已打开的代码库,包括过去的错误、问题、拉取请求和历史修复,以提供与您的代码库直接相关的指导。
此功能支持GitHub和Azure DevOps存储库。
![]()
现在,你可以获得针对存储库定制的上下文感知、高精度调试体验。
桌面
WinForms 专家代理
编码代理现已包含由团队的专家精心制定的 WinForms 开发特殊说明。
WinForms 专家代理是一个全面的指南,可帮助你解决 WinForms 开发的细微差别挑战。 它涵盖几个关键领域:
设计器代码与常规代码:WinForms 项目具有两个不同的代码上下文-设计器生成的序列化代码和新式业务逻辑。 代理知道可在每个上下文中使用的 C# 特性。
Modern .NET模式:.NET 8-10 的代理器已完全更新,包括:
使用社区工具包的 MVVM 数据绑定模式。
具有正确 InvokeAsync 重载的 async/await 模式。
- 深色模式支持和高 DPI 感知。
- 正确位置的可为空引用类型(NRT)。
布局最佳做法:获取有关使用 TableLayoutPanel 和 FlowLayoutPanel 的指南,这些布局适用于不同屏幕大小和缩放因素的响应式 DPI 感知布局。
CodeDOM 序列化管理:了解 WinForms 设计器中属性序列化的关键规则,以便避免属性
[DefaultValue]和ShouldSerialize*()方法的常见陷阱。异常处理:对异步事件处理程序和应用程序级异常处理使用适当的模式来防止进程崩溃。
代理的说明是详细的,涵盖从控件命名约定到辅助功能要求的所有内容。 就像让高级 WinForms 架构师评审你的代码的每一行一样。
主要 bug 修复
| 主要 bug 修复 | 来自社区 |
|---|---|
| 解决方案资源管理器不再显示解决方案节点 | 反馈单 |
| 修复了在 MSI 自定义操作中阻止扩展安装的问题。 | 反馈单 |
| CompletionsPackage 偶尔加载失败,向用户显示错误对话框。 | 反馈单 |
| 修复了使用存档管理器生成临时 Android APK。 | 反馈单 |
| 如果窗口布局发生更改,AI 生成的提交消息会崩溃 VS | 反馈单 |
| 错误 C1001:内部编译器错误 | 反馈单 |
| 声明“GlobalHubClientPackage”包未正确加载的错误窗口显示在极少数实例中,导致各种Visual Studio功能无法正常工作。 | 反馈单 |
| 关闭后,VsixInstaller 和 VS 安装程序都启动 | 反馈单 |
| 修复了在使用中央包管理、浮动版本和解决方案筛选器时 NuGet 还原失败的情况。 | |
| 启动应用程序时,在 Win32 应用中创建 DesktopWindowXamlSource 会导致外部功能中断。 | 反馈单 |
| Visual Studio 2026 Code Analysis 不可配置 | 反馈单 |
| 当 ARM64EC 线程调用一个调用另一个 ARM64EC 协程的 x64 协程时,x64 仿真器崩溃。 | 反馈单 |
| 修复了自动向量器中的一个 bug,该 bug 可能导致看起来只有循环的一部分被正确执行。 | |
| VS2026 找不到 v143 生成工具 | 反馈单 |
| 中间单击关闭选项卡不起作用,除非已加载该选项卡 | 反馈单 |
版本 18.0.2
发布日期 :2025 年 11 月 24 日。
| 主要 bug 修复 | 来自社区 |
|---|---|
| 修复了使用 OpenMP 影响C++程序的崩溃。 | 反馈单 |
| Visual Studio 2026 Insider 版本数据提示不可读 | 反馈单 |
| 源代码管理插件的更改会弹出窗口 | 反馈单 |
| 计算重命名信息消息在屏幕上卡住 | 反馈单 |
版本 18.0.1
发布日期 :2025 年 11 月 19 日。
| 主要 bug 修复 | 来自社区 |
|---|---|
| Visual Studio 2022 17.14.15 更新时出现问题 - LINK:致命错误LNK1000 | 反馈单 |
| (2026) Word换行设置在打开差异视图后保持未设置 | 反馈工单 |
| 修复了涉及具有不同类型数组的表达式的三元表达式的错误 codegen 问题。 | 反馈单 |
| [VS18] 调试器未关闭被重定向到一个文件的标准流 | 反馈单 |
| 具有许多解决方案项的解决方案中的第一个断点上挂起重要的调试器 | 反馈单 |
| 清理器覆盖率阻止列表断开 | 反馈单 |
| AVX2 中生成的指令不正确 | 反馈单 |
| 编译 C 代码时未发出 C4319 | 反馈单 |
| C++/CLI - 内联命名空间不起作用 | 反馈单 |
| 性能分析器在 C++/CLI 中未能正确加载非托管代码的符号 | 反馈单 |
| 添加了对 iOS/tvOS/macOS/MacCatalyst/MAUI 工作负载.NET的 Xcode 26.1 支持。 请参阅 工作负载 v26.1.10494 的发行说明。 | |
| 包含矢量列的列存储索引错误 | 反馈单 |
11 月更新 18.0.0
发布日期 :2025 年 11 月 11 日。
IDE
你的意思是?📣
再也不会丢失文件管理! Copilot 能智能地检测你的意向,并在你搜索 Visual Studio 时建议更佳匹配项。
编码时曾忘记某个文件的名字吗? Visual Studio中新的 Did You Mean 功能在这里提供帮助! 当你使用“全能搜索”进行搜索时,如果“Copilot”检测到的结果比顶部结果更匹配(可能由于拼写错误或记忆模糊),它将建议你可能的意思。
是否您想输入 与“全能搜索”无缝兼容,可通过按 Ctrl+Shift+P 进行访问。 键入搜索词时,Copilot分析输入并建议更相关的字词(如果它找到与意向更匹配的字词)。 无论搜索结果为空,还是最顶部结果并非你所期望的,此功能都能提供帮助。
![]()
![]()
你是否想通过减少纠正拼写错误或努力记住正确名称所花费的时间,加快了你的搜索体验 - 使你的搜索体验更轻松、更直观!
Did You Mean (预览版)现已在 Visual Studio 中提供,并自动为所有适用用户启用。 目前,此功能适用于公共GitHub存储库,我们正在积极努力在将来的更新中扩展其覆盖范围。 立即试用,并告诉我们你的反馈! 还可以更改 Tools → 选项 → GitHub → Copilot → 搜索 → 在 All-In-One 搜索(预览)中启用‘您是说’代码搜索支持。
📣 请查看feature ticket以分享您的反馈并继续讨论。
代码覆盖率📣
代码覆盖率的功能现已首次在 Visual Studio Community 和 Professional 版本中推出 - 确保代码经过良好测试变得前所未有的容易!
现在你可以直接在 IDE 中分析哪些部分的代码被测试执行了! 此功能以前仅在企业版中提供,现在在社区版和专业版中也可使用,这使得确保代码经过充分测试比以往任何时候都更容易。
![]()
新动态
内置的代码覆盖率工具通过显示单元测试和其他测试覆盖了多少代码,帮助你了解测试有效性。
CI/CD 集成支持在持续集成工作流中自动跟踪覆盖率。
使用方法
从测试菜单中,选择分析所有测试的代码覆盖率,对测试套件运行覆盖率分析。
你也可以在“测试资源管理器”内右键单击,运行选定测试的代码覆盖率。
- 结果将显示在“代码覆盖率结果”窗口中,按程序集、类和方法显示百分比。
- Visual Studio 会在 editor 中直接突出显示已测试的行,因此您可以快速识别哪些内容已覆盖,哪些未覆盖。
此功能为更多开发人员带来关键工具,帮助你更有信心地发布代码。
📣 请查看feature ticket以分享您的反馈并继续讨论。
新外观📣
Visual Studio现在具有与 Fluent UI 设计系统一致的刷新界面。 此更新在整个 IDE 中引入了一种现代、更具凝聚力的美学,提高了可用性、可访问性和视觉清晰度。
Visual Studio IDE已更新为与 Fluent UI 设计系统保持一致,提供更现代、更凝聚力的外观。 这些更改增强了可用性和可访问性,同时保留了熟悉的工作流程。
除了更新的设计语言之外,我们还推出了 11 个新的有色主题,使用户能够更好地控制其开发环境的外观。
![]()
我们还将推出全新的编辑器外观设置,专门关注编辑器的外观和风格。 此设置可用于匹配整体 IDE 主题,同时也可以独立工作,允许用户自定义其编码环境,而无需与更广泛的 IDE 保持一致。
![]()
最后,我们重新设计了图标,使其更具视觉吸引力,更易于识别,从而改善了导航和整体用户体验。
![]()
📣 请查看feature ticket以分享您的反馈并继续讨论。
现代设置体验 📣
新的设置体验为Visual Studio带来了简化、用户友好的界面,将工具>选项替换为新式设计、更智能的组织以及增强的可靠性。
新式设置体验现在是默认设置,取代了旧 版“工具”→“选项 ”对话框。 此更新的平台提供 Fluent 对齐的 UI、集中注册和改进的持久性,为配置工作流带来清晰、一致性和扩展性。
![]()
设置将通过漫游支持从早期的 Visual Studio 版本中继承。 但是,设置将不再同步回旧产品 - 这可确保向前兼容性和更清晰的迁移路径。
最常用的设置已移动到新平台。 你仍然可以通过旧链接访问剩余的设置,确保在过渡到新体验时保持连续性。
![]()
📣 请查看feature ticket以分享您的反馈并继续讨论。
M365 代理工具包更新
现在可以使用 GitHub Copilot 和 Microsoft 365 Agents Toolkit 来更快地生成、个性化和调试 M365 应用和代理。
1. 现在,您可以使用 GitHub Copilot 来提升 Microsoft 365 应用和 Copilot 智能体 的开发!
- 适用于 Microsoft 365 Agents Toolkit 的 GitHub Copilot 扩展:获取自然语言提示、建议的模板、智能指南和即时故障排除。 只需在 Copilot Ask 模式下执行 @mention 扩展。 有关更多详细信息,请查看博客:为 Teams Toolkit 预览 GitHub Copilot 扩展。
- MCP Server for Microsoft 365 Agents Toolkit:在Copilot代理模式下解锁高级 AI 驱动的工作流。 使用 Teams AI 库和代理 SDK,将新的 AI 驱动功能添加到 Microsoft 365 应用和 Copilot 代理。 在博客中了解详细信息:Build Smarter with the Microsoft 365 Agents Toolkit MCP Server。
您可以在 Copilot 的帮助下快速构建、个性化和调试您的 Microsoft 365 应用和代理。
2. 已升级到 Teams AI 库 V2 的 Teams 代理和应用模板
所有 Teams 代理和 Teams 应用项目模板现在都使用新的 Teams AI 库 V2。
通过这些更新的模板,你可以:
连接到大型语言模型(如 OpenAI 或 Azure OpenAI),而无需更改核心机器人逻辑。
连接到外部数据源,使应用保持最新且响应迅速。
- 使用自适应卡片技术、生动表情符号和在 Teams 中原生体验的丰富交互式元素。
现在可以更快地创建功能齐全的 Teams 代理,享受更流畅的开发体验,并提供真正原生的用户体验。
3.此版本添加了对 M365 代理模板的 .NET 10 支持
4.有关机器人注册更新的重要说明
此版本包含从多租户到单租户机器人注册的更改,以符合Azure 机器人服务(ABS)安全要求。 Microsoft即将终止对多租户机器人注册的支持。 所有新的机器人注册现在都必须使用单租户配置。 此更改可增强Microsoft 365服务的安全性和合规性。 将完全阻止多租户注册。 现有的多租户机器人将继续正常运行并且功能正常,但最终会迁移到单租户注册。请遵循迁移指南将Azure 机器人服务注册切换到单租户。
设置助手
使用设置助手轻松解决缺少的依赖项并更快地生成。
设置助手可以帮助您在升级了Visual Studio之后,更快地开始开发。 它查找缺少的工具集和 SDK,然后让你直接从 IDE 安装或重新定位它们。
对于 C++ 开发人员:设置助手显示缺少 MSVC 工具集和Windows SDK。 可以在Visual Studio安装程序中单击一下即可安装它们。
![]()
For .NET developers: 如果你的项目使用固定的 global.json,设置助手会将你链接到匹配的 .NET SDK,以便在浏览器中快速安装。
![]()
生产力
自适应粘贴
Copilot将粘贴的代码适应文件的上下文,因此你花更少的时间修复名称、格式设置和次要错误。
粘贴代码通常意味着清理 - 重命名符号、修复错误、调整格式或翻译语言。
自适应粘贴功能是否符合您的需求? 它分析粘贴的位置,并建议适合你的文件的代码。 你可以用其执行以下操作:
填写缺少的接口或抽象成员。
修复小错误。
- 应用一致的样式和格式设置。
- 在人类或编程语言之间进行翻译 - 例如,C++到 C# 。
- 继续一个模式或者填写空白。
例如,如果你有一个实现
Math的类,并且你粘贴了IMath方法,自适应粘贴可能会将方法转换为Ceiling,如果该方法仍未实现。
![]()
它还有助于语言翻译。 此处Copilot在粘贴过程中将 C++ 代码调整为等效的 C# 。
![]()
如何使用它:
正常粘贴代码 {KeyboardShortcut:Edit.Paste}。
当自适应粘贴栏出现以请求建议时按
Tab。
- 查看原始代码与调整后代码的差异并接受或拒绝。
还可以直接触发它:
按 Shift+Alt+V 粘贴并立即显示建议。
使用 Edit → 特殊粘贴 → 用 Copilot 粘贴。
![]()
自适应粘贴默认处于打开状态。 可以在 Tools → 选项→ GitHub → Copilot →编辑器中切换它,→启用自适应粘贴。
触手可及的代码操作📣
通过在 Visual Studio 的上下文菜单中右键单击一次,快速获取来自 Copilot 的帮助。
现在可以直接从Visual Studio中的上下文菜单与Copilot进行交互! 此新功能使您只需单击一下,便可快速获取 Copilot 针对常见任务的帮助,而无需键入任何提示。
目前,上下文菜单中提供了五个Copilot操作,每个操作的工作方式因是否选择了代码而异:
![]()
尝试这些Copilot操作,让我们知道你的想法! 我们很想听取你的反馈以及你希望在上下文菜单中看到的其他操作的任何建议。
📣 请查看feature ticket以分享您的反馈并继续讨论。
Mermaid 图表呈现📣
在 Markdown 编辑器和 Copilot 对话助手 中渲染 Mermaid 图表。
我们很高兴地宣布,Visual Studio现在支持在 Markdown 编辑器中呈现美人鱼图表,你可以在其中提供自己的美人鱼语法或Copilot为你生成它! 此新功能可让你直接在代码编辑器中可视化复杂的数据结构和工作流。 例如,你可以使用 Mermaid 语法在 Markdown 文件中创建流程图和图表,这些流程图和图表将在预览中自动呈现。
如果你在 Markdown 文件中准备好了 Mermaid 语法,则可以通过单击编辑器左上角的预览按钮进行预览。 Mermaid 图表将在预览窗格中呈现,让你可以看到数据的可视化表示形式。
![]()
还可以要求Copilot 对话助手生成图表和关系图,以帮助解释复杂的代码库或具有视觉帮助的逻辑。 Copilot将响应生成的美人鱼语法,你可以直接预览该语法以查看呈现的关系图。
Mermaid 图表由 Copilot 对话助手 生成 请试用一下并立即生成 Mermaid 图表! 我们很乐意听取你的反馈以及任何有关改进此功能的建议。
📣 请查看feature ticket以分享您的反馈并继续讨论。
增强的编辑器控件 📣
使用新的边距功能发现最大化编辑体验的高级选项。
开发人员依赖微妙提示和快速上下文来保持专注,而编辑器底部边距是关键部分。 但在此之前,它提供的见解有限且灵活性较低 — 有用的信息难以获取。
我们已升级底部边距,使其更具信息性和可自定义性。 行、列和字符位置现在统一显示在一个位置——单击它可以打开“转到行”对话框,以实现更快速的导航。 当处理多个选择时,你会看到选择、字符和行的总计数。 将鼠标悬停在选择边距上可显示每个选择的详细信息。
![]()
文件编码现在也显示在边距上,便于快速查看。 你还可以使用特定编码保存或重新打开文件,帮助确保特殊字符正确显示、支持多种语言并在各系统间保持一致可读性。
单击编码边距会打开上下文菜单,你可以选择保存或重新打开文件。 选择某项后将启动编码对话框,并提供可用编码的下拉列表供你选择。
![]()
![]()
我们在边距中添加了一个新的上下文菜单,让你可以完全控制显示哪些信息。 此菜单包含编辑器中的所有底部边距,从缩放控件到新的编码边距。
![]()
可以通过 工具→选项管理这些设置,→文本编辑器→常规→显示→在编辑器中显示编辑上下文。 为了更快速调整,右键单击底部边距以打开新上下文菜单,直接更改显示内容而不中断工作流。
📣 请查看feature ticket以分享您的反馈并继续讨论。
搜索中的文件排除项 📣
通过排除不需要搜索的文件来跳过干扰。
有些文件,你根本无需查看。 无论是构建产物、压缩脚本还是生成的文件,它们都会使搜索结果变得杂乱无章,并降低你的工作效率。
现在,你可以在“文件中查找”和“快速查找”中将这些文件排除,以专注于重要内容。
若要设置它,请转到 “工具”→“选项”→“环境”→搜索,然后从搜索结果部分查找新的 “排除文件 ”。 在那里,你可以添加、编辑或删除 glob 模式,精准控制要从搜索结果中排除哪些文件。
![]()
这些排除项将在“快速查找”中自动应用。
对于“文件中查找”,这些排除项将在你已有的文件类型选择之外额外生效。 你可以通过“文件类型”右侧的切换按钮轻松开启或关闭此设置级别的排除项。
![]()
📣 请查看feature ticket以分享您的反馈并继续讨论。
熟悉的键盘快捷方式 📣
使用
Ctrl+W关闭标签页和Ctrl+P进行代码搜索 - 与您在其他编辑器中习惯的快捷键相匹配。我们添加了新的快捷方式,以符合你在其他编辑器和浏览器中的使用习惯,使Visual Studio使用起来更加直观。
新动态
Ctrl+W 现在关闭当前选项卡(除了 Ctrl+F4)
Ctrl+P 现在打开代码搜索(除了 Ctrl+T)
这些新增功能使Visual Studio与 VS Code 等常用编辑器保持一致,从而更轻松地在工具之间切换,而不会破坏肌肉记忆。 现有快捷方式仍与以前一样工作。
C# 开发人员注意
由于现有冲突, Ctrl+W 快捷方式未添加到 C# 开发人员配置文件。 如果要使用 Ctrl+W 关闭 C# 中的选项卡,则需要在 工具→选项→环境→更多设置→键盘手动重新映射它。
更广泛的努力的一部分
这继续我们的工作,使Visual Studio快捷方式更符合行业标准。 我们之前添加了 Ctrl++ 以打开功能搜索,并按 Ctrl+/ 切换行注释以匹配其他编辑器。 我们逐渐添加快捷方式,以减少在不同开发环境之间移动时的摩擦,同时保留Visual Studio用户依赖的所有键盘快捷方式。
始终可以通过转到 “工具→选项→环境”→“更多设置”→键盘来查看或自定义快捷方式。
📣 请查看feature ticket以分享您的反馈并继续讨论。
GitHub Copilot
Copilot URL 上下文
在 Copilot 对话助手 中粘贴 URL,从页面提取内容,以便提供更好的答案。
你是否曾感到困惑,觉得Copilot的训练数据没有覆盖某个主题? 现在,可以参考Copilot 对话助手中的 URL,为问题提供更多上下文,帮助Copilot提供更好的响应。
在问题中引用 URL
在提示框中粘贴 URL,Copilot将从 Web 拉取信息。 当Copilot的训练数据未涵盖主题或想要引用特定资源时,这有助于填写空白。
例如,您可以请Copilot根据GitHub上的最佳实践来帮助编写readme.md文件。
![]()
请记住,Copilot只能引用你提供的公共 URL 的内容。 它不会访问该页面上的任何其他资源或链接,也不会访问身份验证后面的页面。 此外,它只能拉取静态 HTML 内容,因此,如果引用动态页面,Copilot将无法访问内容。
更好的 Copilot 响应📣
体验通过增强的代码搜索上下文、外部符号理解和精确行号引用,显著提升的Copilot响应能力!
Copilot 对话助手通过改进日常任务的上下文不断变得更智能! 在搜索代码库、理解外部依赖符号以及引用特定代码行时,你将获得更优结果。
改进的代码搜索
Copilot 对话助手的代码搜索功能已得到增强,以提供更相关的结果。 这意味着获得更准确的建议,因为Copilot更善于检索与自然语言描述的行为、概念或功能相关的正确代码片段。 这些改进得益于对你代码库的远程索引的充分利用。
![]()
外部符号识别能力
现在,Copilot 对话助手 可以超出项目范围,帮助你处理来自于 C# 依赖项的外部符号。 借助更广泛的理解范围,它可以为你的项目提供更有效的解决方案。
![]()
使用行号提高准确性
在代码中引用特定行时,Copilot 对话助手现在将提供更准确的响应。 这意味着,当你要求Copilot以自然语言查看代码的某些部分时,它将能够为你提供更精确的信息。
Screenshot 在引用 Copilot 对话助手 📣 请查看feature ticket以分享您的反馈并继续讨论。
调试和诊断
用于单元测试的调试器代理
自动执行单元测试修复,从失败到解决。
新的调试器代理通过将测试资源管理器、Copilot 对话助手和Visual Studio调试器的强大功能合并到完全自动化的工作流中来简化单元测试调试。
其工作原理如下:当单元测试失败时,只需右键单击测试并选择“使用Copilot进行调试”。 这会调用调试代理,该调试代理:
从工作区中收集上下文(测试代码、相关源、最近所做的编辑)。
提出有关失败的根本原因的假设。
- 根据其分析结果应用目标代码编辑。
- 通过在调试程序下运行测试来验证修复。
- 在问题持续存在时,智能地进行迭代,使用调试器见解优化并完善其假设,重复此过程直到测试通过。
![]()
故障被解决后,代理程序会提供其操作和编辑的详细摘要,便于您审阅和理解变更。 通过自动执行繁重的工作,调试器代理可减少试用和错误,缩短反馈循环,并帮助你更快地交付更可靠的代码 - 这一切都有助于控制最终评审。
增强的异常分析
异常分析现在有效地利用存储库上下文。
Visual Studio与Copilot结合进行的异常分析现在利用存储库上下文进行更智能、更快速的调试。 Copilot 会对您的代码仓库进行交叉参考,包括过去的 bug、问题、拉取请求和历史修复,以提供对代码库至关重要的洞见。
![]()
通过此更新,Copilot:
识别可能的根本原因、受影响的组件和潜在的修复方法。
显示过去的类似问题,让你从现有解决方案中学习。
- 在完整上下文中分析异常,将运行时行为与存储库历史关联,解释意外值。
- 通过减少复杂调试过程中的手动调查和反复试验来节省时间。
你将获得上下文感知的高精度调试体验。 此功能目前可用于Azure DevOps,即将推出GitHub支持。
Inline if-statement
使用内联值和 Copilot 见解 更快地调试 if 语句。
调试的关键在于快速理解代码的行为,现在,在.NET中针对if语句的新内联体验使这一过程比以往更加容易。 有了此更新,你不再需要悬停在变量上或单步执行多行代码来弄清楚条件为何以及是否被计算为 true 或 false。 相反,Visual Studio直接在条件旁边显示计算结果。
![]()
就像现有的内联变量和返回值一样,您可以将鼠标悬停在条件上,然后选择 使用 Copilot 分析。 它不仅显示最终结果,还会将条件分解为其子表达式。
Copilot说明每个部分如何促成整体结果,从而提供明确的分步推理路径。
内联变量和参数
现在,内联值展示了利用 Copilot 智能提示的方法参数和循环。
Visual Studio现在在调试时显示方法参数值和循环变量。 你可以在编辑器中实时查看上下文可视性。
无需悬停或逐行调试即可查看参数和循环变量值。 对于复杂变量或对象,你仍然可以使用数据提示、可视化工具和其他工具进行深入探索。
![]()
可以将鼠标悬停在任一内联值上,然后选择 使用 Copilot 分析。 Copilot解释上下文中的意义,并帮助您调查意外或不正确的结果,提供洞见,帮助您理解结果为何可能与预期不同。
内联后的返回值
通过内联后返回值与 Copilot 洞察来更智能调试。
Visual Studio调试器现在显示内联后返回值,其中显示了函数在使用时的实际返回值。 这让你无需进入函数内部或设置监视即可实时查看函数行为,加快逻辑问题或异常结果的排查速度。
![]()
你可以通过右键上下文菜单自定义显示内容,可以根据您的偏好选择显示“正在返回”、“已返回”或两者的内联值。
![]()
通过GitHub Copilot集成,可以将鼠标悬停在某个值上,并使用 询问 Copilot 分析意外结果、发现潜在根本原因或获取有关如何解决问题的建议 - 所有这些都不会中断流。
F5 的性能改进
使用性能改进后的 F5 更快地进行调试。
使用 F5 启动调试器是Visual Studio中最常见的工作流之一,现在它比以往更快。 我们针对性地改进了性能,减少了启动调试器所需的时间,让你可以减少等待时间,增加编码时间,更快地进入调试会话。
在如下所示的演示中,您可以亲眼看到区别:使用F5时,Visual Studio 2026 搭配 .NET 10 的启动速度比使用 .NET 9 的 Visual Studio 2022 提高了多达 30%。
这些优势来自调试器和.NET运行时中的优化,从而提供明显更流畅的体验。
![]()
在文本可视化工具中进行搜索 📣
调试时快速查找长字符串中的文本。
现在,你可以使用全新“快速查找”功能在文本可视化器中搜索字符串值! 只需在可视化工具打开时按 Ctrl+F 即可打开搜索框。 你的搜索词将会在字符串中高亮显示,使你更容易识别重要文本、错误或模式。
![]()
需要查看被搜索框遮挡的内容? 按住 Ctrl ,搜索 UI 变得透明,因此你永远不会忘记下方的数据。
这让你在调试过程中浏览日志、JSON 数据块或错误信息等长字符串变得更快速、更直观。
📣 请查看feature ticket以分享您的反馈并继续讨论。
Profiler Copilot Agent 📣
分析性能、建议修复并帮助你快速迭代的 AI 探查器代理。
我们很高兴在 Visual Studio 中引入 Profiler 代理:一个 AI 助手,可帮助你了解和修复性能问题,而无需成为分析专家。
分析器代理与GitHub Copilot协同工作:
分析 CPU 使用率、内存分配和运行时行为
Surface性能瓶颈
- 生成新的 BenchmarkDotNet 基准测试或优化现有基准测试
- 提出优化建议并帮助应用优化
- 在引导循环中验证改进效果
开始使用非常简单。 只需在Copilot 对话助手(代理模式)中提问即可:
选项 1:标记 @profiler 示例: @profiler 为什么我的应用速度较慢?
选项 2:无需标记即可直接提问(在“选择工具”菜单中启用 Profiler 代理)
示例:为什么我的帧速率下降?
![]()
无论你是探查新手还是专业人士,此体验都能让你轻松获取 AI 驱动的诊断结果。 无需深厚的专业知识 — 只需关注可操作的见解即可。
目前支持高 CPU 使用率分析和.NET对象分配,即将推出更多方案。
📣 请查看feature ticket以分享您的反馈并继续讨论。
具有优化分配的 CodeLens
一键优化基准测试的内存分配。
以前,可以使用 CodeLens 直接从编辑器触发 Benchmark .NET 基准的 CPU 优化。 现在,你还将有一个一键式入口来优化基准测试的内存分配。
无需手动提示 Profiler 代理,只需单击基准上方的 CodeLens,然后您将看到一个选项来使用 Copilot 优化分配。
此更新使性能优化更易于操作且更无缝,帮助你在编写代码的位置直接发现并修复分配问题。
![]()
Profiler 代理线程摘要
性能分析代理的智能总结与无缝线程续接。
最新的 Profiler Agent 更新引入了智能摘要功能,并支持线程续延,旨在使你的工作能够顺畅进行而不会因令牌限制而停滞。 当聊天接近令牌上限时,系统会提示你选择摘要并在新线程中继续。
![]()
代理程序会自动生成迄今为止所有重要内容的精炼、具有丰富背景信息的摘要,并在新的对话中使用。 不会丢失任何内容 — 关键细节、步骤和决策都会保留。
此更新不仅减少了令牌的使用,使交互更轻便、更快速,还通过代理操作的快速摘要,使进度跟踪更加容易。 最重要的是,它确保了无缝连续性,让你可以从上次中断的地方继续,无需回溯步骤。
BenchmarkDotNet 项目模板
使用新的基准项目模板和内置分析支持加速性能优化 - 获取见解比以往更快!
使用完全集成的 BenchmarkDotNet 项目模板,开始性能基准测试。该模板包含对 CPU 使用情况剖析的内置支持和 Copilot 的见解。
在 Visual Studio 中添加一个新项目,并从 Profiling 类别中选择 BenchmarkDotNet Project。 选择目标.NET版本,模板会自动对齐。
Visual Studio为完全配置的项目搭建基架,并完成基准设置和 CPU 诊断程序。
![]()
运行基准测试后,分析器会自动启动诊断会话,您可以立即查看 CPU 使用率、调用树数据和性能热路径(可选的 Copilot 洞察),无需离开 IDE。
CMake诊断功能刚刚升级
分析 CPU、分析文件 IO 和跟踪事件 - 现在完全支持 CMake 项目。
CMake 项目现在在 Visual Studio 中获得对 CPU 使用率、事件查看器、内存使用情况和文件 IO 工具的原生支持,不需要解决方案和额外设置。 CPU 使用率工具还包括由 Copilot 驱动的性能洞察,帮助你更快地检测和解决瓶颈。
![]()
该更新专为游戏开发人员和性能关键的工作流程量身打造,用户可以:
使用 CPU 使用工具识别性能瓶颈并优化计算密集型代码。
使用事件查看器追踪运行时事件,如异常、日志和 HTTP 请求。
- 使用文件 IO 工具分析文件访问模式、持续时间和吞吐量。
New Profiler 启动体验
具有更智能工具组合和Copilot建议的更简洁启动页。
我们重新设计了探查器启动页,使其更快、更清晰、更智能,帮助你为性能调查选择合适的工具。
重新设计的界面布局简洁,清晰区分了可一起运行的工具和必须单独运行的工具 — 让你始终清楚哪些工具兼容。
![]()
Copilot集成可以在页面上提供上下文感知的建议,帮助你为特定的场景选择最佳的性能分析器。 如果默认建议不适合,只需用纯英语描述问题,Copilot将指导你。
无论你是探查新手还是经验丰富的开发人员,此升级都能让你更轻松地改进应用性能。
优化零长度数组
在.NET分配工具中,利用智能Copilot助手将零长度数组的洞察转化为行动,前所未有地优化内存使用!
.NET分配工具现在集成了对零长度数组分配的Copilot辅助功能,可在最需要的地方提供智能且可操作的指导!
![]()
运行.NET分配工具时,“见解”选项卡将突出显示零长度的数组分配-这是一个微妙但经常被忽视的不必要的内存变动源。
除了见解说明,你将看到询问 Copilot按钮。 单击它,Copilot将会提供对分配模式的详细分析,并建议具体的代码修复,以优化你的内存使用情况。就像你已经喜欢的“CPU 使用率”工具中的 Copilot 自动见解一样!
Git 工具
内联拉取请求注释
现在你可以直接在差异视图中查看拉取请求评论,并看到这些评论以 Markdown 格式呈现 - 使评论更容易在上下文中阅读和理解。
Visual Studio中的拉取请求体验变得更好。
拉取请求差异视图中的内联评论
默认情况下,拉取请求注释显示在工作文件视图中。 现在,还可以在差异中看到这些更改,这使你可以查看更改的全貌。
![]()
在差异视图中,你可以在原始代码和更新后的代码旁边查看评论。 这使你更容易准确了解更改了什么以及原因。 你还可以在此视图中直接编辑工作文件。
![]()
例如,如果注释建议在重构后添加测试,则查看版本差异视图中的原始代码可以帮助你理解哪些功能被移动了。 在差异视图中直接看到原始代码有助于你更快理解注释内容——无需再费力查找方法被移到了哪里。
差异视图中的评论支持多种文件类型,包括
.cs文件。 支持范围正在不断扩大,如果你发现某个文件类型的评论未出现在差异视图中,请报告该问题。拉取请求评论中的 Markdown 渲染支持
注释现在使用 Markdown 格式呈现,使其更易于阅读和格式化反馈。
![]()
试试看
通过 工具 → 选项 启用此功能,→ 预览功能 → 拉取请求注释。
更好的代码评审📣
为代码更改提供更好的GitHub Copilot支持的建议,以帮助你提前捕获潜在问题并改进代码质量。
现在,借助最新的模型更新,你甚至可以在提交之前就针对本地更改获得更好的代码评审意见!
相同的用户体验,带来关键改进
增强的评论质量 — 更新的推理模型意味着更具洞察力和精确性的代码评审,能够捕获到传统方法可能忽略的细微 bug 和性能问题。
优化的评论生成 — 通过一次性为整个更改集生成评论(而非逐文件生成),提高了性能并提供了更全面的评审。
更新的提示技术 — 更清晰、更直接的提示确保获得更准确、更相关的反馈。
开始
在 Visual Studio 中启用 Copilot 订阅并启用以下功能标志后,可以在“Git 更改”窗口中看到新的闪光注释按钮。 单击后,Copilot将检查您的多组更改,并在编辑器中直接提出一些建议。
![]()
确保已启用以下两个功能标志:
工具 → 选项 → 预览功能 → 拉取请求注释。
Tools → Options → GitHub → Copilot → Source Control Integration → Enable Git 预览功能。
注释
必须在 工具→管理预览功能 下启用此功能
在 Copilot 聊天中引用提交和更改。
Copilot 对话助手 现在支持在 Git 更改窗口中引用提交和更改。 您可以请求 Copilot 汇总您的更改、解释特定的提交内容等!
引用你的更改
#changes查看你尚未提交的更改。 例如,可以要求Copilot通过引用#changes来提醒你到目前为止已执行的操作。
![]()
引用你的提交
开始键入
#commit:时,Copilot将拉取最新提交列表供你选择。 如果你要引用较早的提交,也可以使用该提交的特定提交 ID 进行引用。
![]()
然后,你可以请求聊天使用提交功能执行诸如编写单元测试以覆盖此提交中的更改或查找此提交中的潜在问题等任务。
试试看
确保启用以下功能标志才能使用这些引用:
Tools →Options →GitHub< /c2> → Copilot →Source Control Integration →可用 Git 预览功能 。
在本地代码评审中更轻松地进行评论导航
现在,使用更新的注释列表视图可以更轻松地进行代码评审。
在提交代码之前查看代码变得更容易。
在未提交的更改中查看Copilot生成的批注时,现在将在“Git 更改”窗口中看到注释列表。 可以双击列表中的任意注释,导航到编辑器中的代码行。
![]()
请随时关注要拉取请求的批注列表!
开始
在 Visual Studio 中启用 Copilot 订阅并启用以下功能标志后,可以在“Git 更改”窗口中看到新的闪光注释按钮。 单击后,Copilot将检查您的多组更改,并在编辑器中直接提出一些建议。
![]()
若要使用本地代码评审,请确保已启用以下两个功能标志:
工具 → 选项 → 预览功能 → 拉取请求注释。
Tools → Options → GitHub → Copilot → Source Control Integration → Enable Git 预览功能。
📣 参加此调查,以帮助使功能变得更好。
注释
必须在 工具→管理预览功能 下启用此功能
应用 PR 评论建议
跳过复制粘贴 - 直接在 IDE 中应用人工或 AI 建议的代码编辑。
有人发表评论,要求修改代码吗?
现在,您可以直接在 IDE 中从 PR 注释中应用建议的编辑,无需复制和粘贴! 在一个位置查看原始代码、建议的更改和周围的上下文,以便可以立即评估、调整和测试修补程序。
应用 PR 评论中的建议更改
与浏览器 PR 体验类似,现在可以立即将注释建议应用于代码。 只需单击注释右上角的 sparkle 图标即可将建议合并到代码中,然后可以根据需要对其进行修改和测试,然后提交。
![]()
向 Copilot 请求建议的更改
如果没有任何建议,则可以请求Copilot根据批注建议更改。 它将考虑注释本身和文档上下文。
![]()
在提交之前获取代码建议
Copilot还可以根据来自 局部代码评审体验中的注释建议代码编辑,从而帮助你更快地解决反馈并使其提交就绪。
![]()
开始
若要试用完整体验,请确保已启用以下两个功能标志:
工具 → 选项 → 预览功能 → 拉取请求注释。
Tools → Options → GitHub → Copilot → Source Control Integration → Enable Git 预览功能。
注释
必须在 工具→管理预览功能 下启用此功能
团队资源管理器工作项弃用
团队资源管理器中的旧工作项体验将替换为新的、更现代的体验。
Visual Studio团队资源管理器中的旧工作项体验已弃用。 今后,工作项将不再在Visual Studio内部打开,而是在 Web 门户中打开,可在其中找到更现代、更一致的体验。 此更改与 2019 年和 2022 年Visual Studio中引入的更新保持一致,并确保所有工作项功能都可通过 Web 体验获得。
有关详细信息,请查看有关 Visual Studio 中的工作项的博客文章。
云
云服务(扩展支持)弃用
有关即将推出的云服务(扩展支持)停用和迁移指南的重要信息,可帮助你做好准备。
云服务(扩展支持)部署模型将于 2027 年 3 月 31 日停用。 因此,Visual Studio 2026 年,支持的云服务工具将不可用。
在 2027 年 3 月 31 日之前,云服务(扩展支持)工具将在 2022 年 Visual Studio保持正常运行,并提供常规维护。 我们强烈建议你立即开始规划迁移,以确保无缝过渡。
有关将应用迁移到新式Azure服务的其他信息和详细说明,请参阅 官方公告。
Service Fabric 工具更新
Service Fabric 工具不再默认提供 - 需作为 VS 扩展安装。
Service Fabric 工具不再包含在 Visual Studio 中。 你可以改为从 Visual Studio 市场安装 Service Fabric Tools for Visual Studio 扩展,该扩展即将推出。
容器工具中的 Podman 支持 📣
容器工具现在支持 Podman,允许你使用 Podman CLI 运行和管理容器。
在此版本的 Visual Studio 中,容器工具现在支持 Podman,这是一种流行的容器管理工具,提供无守护进程的容器引擎。 这允许直接从 Visual Studio 使用 Podman CLI 运行和管理容器。 你的所有常规工作流仍然保持不变,只是会对你当前运行的容器运行时提供适当的支持。
开始
若要开始,只需启动 Podman 并在 Visual Studio中打开解决方案。 容器工具将自动检测 Podman 环境,之后你就可以正常使用了。
![]()
(可选)可以通过转到 工具→选项→容器工具→常规→容器运行时 并从下拉菜单中选择 Podman,手动将 Podman 设为运行时。
注释
作为此更改的一部分,部分设置已更新,以避免混淆并使用更中性的表述。 例如,从
DockerfileContext到ContainerBuildContext。此版本中,Podman 不支持 Compose 功能。
📣 请查看feature ticket以分享您的反馈并继续讨论。
.NET
.NET 10 和 C# 14
内置对 .NET 10 和 C# 14 的支持,使您能够在项目中利用这些最新的功能和改进。
我们很高兴能在此最新版本的 Visual Studio 中全面支持 .NET 10 和 C# 14! 这意味着,你可以立即开始充分利用所有最新的语言功能、性能改进和框架增强功能,而无需任何额外的设置或配置。
![]()
集成是无缝的,只需创建一个新的项目,以 .NET 10 为目标或更新现有项目,即可直接在编辑器中访问所有最新的 C# 14 语言功能。 IntelliSense、调试和所有你最喜欢的生产力工具都可以与新的语法和 API 完美配合。 无论是构建 Web 应用程序、桌面应用还是云服务,都可以利用.NET 10 带来的前沿功能。
Visual Studio的编译器和工具已更新,为 C# 14 的新语言构造提供完全支持,确保获得准确的语法突出显示、错误检测和代码完成。 这种紧密集成意味着,在探索最新版本的 .NET 平台时,开发体验将顺畅高效。
准备好开始了吗? 创建新项目并选择.NET 10 作为目标框架,或升级现有项目以开始使用这些令人兴奋的新功能!
C++
MSVC 生成工具版本 14.50
新的C++工具,改进了C++23/26 一致性和运行时性能
Microsoft C++ (MSVC) 生成工具版本 14.50 现已推出,新增了
C++23和C++26功能、bug 修复和运行时性能改进。编译器中的新增C++功能 (另请参阅 公告博客文章):
P0849R8 -
auto(x)语言中的衰减复制P2437R1 - 实现 C++23
#warning
- CWG 问题 2586 - 用于赋值和比较的显式对象参数
- P2280R4 - 允许在常量计算期间引用未知值
- CWG2635 � 约束的结构化绑定
- CWG2465 - 传递给 promise 构造函数的协程参数
- P2360R0 - 扩展
init-statement的定义以允许alias-declaration- CWG2496:ref-限定符与虚拟重写
- CWG2506 - 结构化绑定和数组 cv 限定符
- CWG2507 - 默认参数
operator[]- CWG2585 - 无需更改行为
- P2290R3 - C++23 十进制/八进制分隔转义序列支持字符串文本
- CWG2521 - 弃用运算符 '字符串字面量标识符'
- CWG2528 - 放宽宇宙飞船操作员的转换规则
- P2797R0 - 针对具有相同参数类型列表的静态和显式对象成员函数CWG2692建议的解决方法
- P2266R3 - 更简单的隐式移动
- 许多漏洞修复
标准库中的新功能和 bug 修复:Changelog - microsoft/STL Wiki
Compiler 后端运行时性能改进(与 2022 Visual Studio 版本 17.14 中的上次版本相比):
基于 Unreal Engine 城市示例 RenderThread 基准测试的性能最多可提升6%
基于 Unreal Engine 的城市示例 GameThread 基准测试,最多提高 3%。
MSVC 生成工具Windows支持
MSVC 生成工具现在需要Windows 10或Windows Server 2016作为受支持的最低操作系统。
MSVC 生成工具已更新其最低支持的操作系统。 在此版本中,生成工具取消了对某些目标版本的支持。
Windows 7/ Windows Server 2008 R2
Windows 8/Windows Server 2012
- Windows 8.1/Windows Server 2012 R2
若要使用最新的 C++ 工具生成应用程序,目标平台必须Windows 10或 Windows Server 2016(或更高版本)。
这些更改可提供更好的性能、增强的安全性,并与最新的Windows平台功能保持一致。
C++功能弃用和删除
关于移除 C++AMP、ARM32 工具链和 /DEBUG:FASTLINK 的通知以及 /await 弃用的声明。
C++功能支持的弃用和移除会影响使用 C++AMP、ARM32 目标 MSVC 构建工具以及
/DEBUG:FASTLINK链接器选项的开发人员。 如果使用/DEBUG:FASTLINK,建议切换到/DEBUG:FULL改进调试支持。 需要面向 ARM32 的开发人员可以继续使用 Visual Studio 2022 v143 构建工具,如 Microsoft 博客文章中详细说明的那样。此外,
/await该开关已弃用,将在将来的版本中删除。 建议开发人员使用标准C++协同例程,默认情况下在 C++20 或更高版本中可用。 对于早期语言模式下的项目,请考虑使用/await:strict在删除开关之前保持兼容性。
C++ STL 更新
新标准库改进——尤其是关于
<regex>的改进。 查看新增功能。我们对C++标准库实现进行了大量更新和改进,尤其是在标准库实现方面
<regex>。 有关更改的完整列表,请参阅 STL 更改日志 。
类视图改进 📣
类视图中的子字符串搜索。
类视图窗口现在支持子字符串搜索功能。
![]()
📣 请查看feature ticket以分享您的反馈并继续讨论。
Project模板更新
在新C++项目中默认使用 C++20。
许多 C++ 项目模板已更新,默认使用 C++20 标准进行构建。 这包括控制台应用、Windows桌面应用程序、Dynamic-Link 库和静态库。
![]()
属性的语法突出显示 📣
C++属性现在在编辑器中闪耀,语法突出显示美观,使代码更具可读性和视觉吸引力!
C++ 特性现在在编辑器中具有美观的颜色,使你的代码在视觉上更具辨识度且更易读! 默认情况下,它们使用与用户定义类型相同的主题颜色,与你现有的配色方案无缝集成。
![]()
📣 请查看feature ticket以分享您的反馈并继续讨论。
clang-tidy 改进 📣
通过改进 clang-tidy 配置选项来增强 C++ 代码分析,以实现更快速的构建和自定义工作流程。
clang-tidy代码分析新增了一些令人兴奋的配置选项! 现在,你可以分配更多处理器在生成过程中运行代码分析,加快开发工作流。 此外,你可以向用于调用clang-tidy的命令行添加自定义参数,完全控制你的分析设置。从 Project 属性→ Code Analysis → Clang-Tidy访问这些功能强大的新选项。
![]()
📣 请查看feature ticket以分享您的反馈并继续讨论。
C++ Linux 工作负荷重命名
C++ Linux 工作负载重命名为“Linux、Mac,以及使用 C++ 进行嵌入式开发”。
Visual Studio 安装程序中的 C++ Linux 工作负载已重命名为 Linux、Mac 和使用 C++ 嵌入开发。 这更准确地反映了其扩展的功能。
Visual Studio安装程序的截图,显示已重命名的 Linux、Mac 以及使用 C++ 的嵌入式开发任务。
工作负荷的说明也相应地进行了更新。
调试器命令行参数
轻松设置任何C++项目的调试器命令行参数。
从工具栏为调试器设置命令行参数的功能已扩展,现在支持所有 .vcxproj、CMake 和虚幻引擎项目。 该功能还获得了以下改进:
- 直接跳转到适合你项目类型的底层调试器命令行参数设置。
![]()
- 清晰指示空命令行参数设置,让你仍能轻松识别和找到工具栏下拉菜单。
![]()
此功能不再绑定到“使用 C++ 进行游戏开发”工作负荷,所有 C++ 开发人员都可使用,无需安装任何额外的工作负荷或组件。
要了解更多信息,请查看传递命令行参数文档。
生成的预处理输出
为任何C++文件生成预处理的输出。
在 Visual Studio 的“单个文件预处理”菜单中,可以通过右键单击 C++ 文件来立即生成该文件的预处理输出。这样可以轻松调试宏和头文件,立即查看错误,并避免对项目设置进行手动更改或打断完整项目的生成。
![]()
IncrediBuild 支持
对 Visual Studio 2026 增加了 IncrediBuild 支持,包括最新的 IncrediBuild 引擎和更新的扩展。
此版本包含 IncrediBuild 支持的更新,其中包括最新版本的 IncrediBuild 引擎和适用于 Visual Studio 版本 18.0 的更新扩展。
CMake 支持 Visual Studio 2026 生成器
Visual Studio 2026 随附最新的 CMake 版本,为 CMake 项目提供最新的生成系统功能
Visual Studio 2026 现在默认包括 CMake 4.1.2。 现在可以将 CMake 与最新的 Visual Studio 2026 生成器和 SLNX 项目配合使用。 通过此更新,可以直接从 CMake 使用 Visual Studio 2026 工具集和 SDK 进行生成,从而简化升级。
ARM64 的 AddressSanitizer 支持
使用 MSVC 和 /fsanitize=address 针对 ARM64 目标进行构建。
一段时间以来,Microsoft C++ (MSVC) 生成工具已支持使用 AddressSanitizer 构建目标为 x64 和 x86 的项目,使您能够在运行时准确识别难以发现的错误,实现零误报并提升内存安全性。
现在,你可以将 AddressSanitizer 与 MSVC 结合使用,以面向 ARM64 目标。 此功能处于预览阶段,因此你可能会遇到一些 bug。 如果这样做,请使用 Help →在 Visual Studio 中发送反馈→报告问题来报告它们。
从我们的整个团队,感谢你选择Visual Studio! 有关最新更新、资源和新闻,请查看 Visual Studio Hub并保持联系。
祝你编码愉快!
Visual Studio团队
注释
此更新可能包括单独许可的新Microsoft或第三方软件,如第三方通知或其随附许可证中所述。


仅显示文件
左侧:较窄的左边距与内联快速操作图标,右侧:原有边距