PreviewLogoVisual Studio 2022 版本 17.10 预览版发行说明


提示

观看 Visual Studio 2022 发布活动的录制内容,了解新功能,听取提示和技巧,并下载免费的数字材料。

开发者社区 | Visual Studio 2022 路线图 | 系统要求 | 兼容性 | 可分发代码 | 发行历史记录 | 许可条款 | 博客 | 最新版本已知问题 | Visual Studio 新增功能文档


单击按钮即可下载最新版 Visual Studio 2022。 有关如何安装和更新 Visual Studio 2022 的说明,请参阅将 Visual Studio 2022 更新到最新版本。 另请参阅如何脱机安装的说明。

下载 Community 版按钮下载 Professional 版按钮下载 Professional 版按钮

访问 Visual Studio 网站,下载其他 Visual Studio 2022 产品。

重要

预览频道未“上线”,也不打算在生产计算机上使用或用于创建生产代码。 有关详细信息,请参阅 Visual Studio 产品生命周期和维护

下载 Community 预览版按钮下载 Professional 预览版按钮下载 Professional 预览版按钮


Visual Studio 2022 版本 17.10 预览版发布

Visual Studio 2022 博客

可从 Visual Studio 2022 博客获取来自 Visual Studio 工程团队的官方产品见解。 有关 Visual Studio 2022 版的详细信息,可参阅以下文章:


17.10.0-pre.6.0 Visual Studio 2022 版本 17.10 预览版 6

发布时间:2024 年 4 月 30 日

此次发布的 Visual Studio 2022 版本 17.10 预览版 6 的新增功能摘要

  • VS 现在包含 MAUI 8.0.21 (SR4)
  • “Xamarin”和“Xamarin Profiler”安装程序组件已标记为“停止支持”。

开发人员社区


17.10.0-pre.5.0 Visual Studio 2022 版本 17.10 预览版 5

发布时间:2024 年 4 月 23 日

此次发布的 Visual Studio 2022 版本 17.10 预览版 5 的新增功能摘要

  • 修复了调试器无法在“局部变量”窗口中加载任何局部变量的问题。
  • 修复了导致编译时间过长的 C++ 病态性编译时问题。
  • 修复了 C++ 地址擦除器 bug,该 bug 会导致无法在 Windows 11 预览体验成员版上使用 ASan。
  • 修复了在发送多个 # 引用时导致挂起的 Copilot 聊天 bug。

开发人员社区


17.10.0-pre.4.0 Visual Studio 2022 版本 17.10 预览版 4

发布时间:2024 年 4 月 16 日

此次发布的 Visual Studio 2022 版本 17.10 预览版 4 的新增功能摘要

  • 我们将移除差异摘要视图的预览功能标志。 你可以在任何比较视图中打开或关闭它,以便仅关注代码中的更改。 此用户建议让你可以仅根据几行上下文来查看文件中的更改,从而能更高效地审阅提交的更改或比较两个文件的差别。
  • 修复了帮助查看器中尝试安装未签名的自定义内容可能会导致崩溃的问题。
  • 修复了调试器有时无法加载符号和导航到库的源的问题。
  • 修复了安装 Roslynator VS 扩展时阻止 C#/VB IDE 服务加载的问题。

开发人员社区


17.10.0-pre.3.0 Visual Studio 2022 版本 17.10 预览版 3

发布时间:2024 年 4 月 9 日

此次发布的 Visual Studio 2022 版本 17.10 预览版 3 的新增功能摘要

Visual Studio 中的 GitHub Copilot

GitHub Copilot:AI 支持的编码助手已无缝融入 Visual Studio IDE,可增强日常任务,并带来最新的 AI 驱动的编码体验。 Copilot 旨在通过提供以下功能提升效率:

  • 个性化代码建议
  • 制作 git 提交消息
  • 解答与编码相关的查询

我们在 Visual Studio 17.10 中引入了新的统一 Copilot 体验,现已在预览版 3 中提供。 它将 Copilot 和 Copilot 聊天的功能合并为一个包,从而无需安装两个单独的扩展,十分方便易用。 享受更深入的集成 AI 体验! 立即通过登录到 GitHub 或启动免费试用版来激活 GitHub Copilot 订阅,以获取最新的 AI 体验。

运转中的 Copilot

注意:Copilot 现在位于 Visual Studio 界面的右上角。

调试和诊断

Copilot 生成的断点条件

将 AI 生成的建议用于条件断点和跟踪点,以提高调试速度。 Copilot 对代码进行分析,以建议针对断点定制的智能表达式,使调试更加顺畅。

设置条件断点或跟踪点并将鼠标悬停在设置窗口中的条件区域上时,Copilot 会根据代码快速呈现 AI 生成的表达式想法。 选择最适合需求的条件,轻松放置断点或跟踪点。

AI 生成的断点

SQL

ARM64 版 Visual Studio 支持 SSDT

现在可以在 ARM64 版 Visual Studio 中创建数据库项目。 在此版本中,查询编辑器增加了 IntelliSense 支持。

改进了生成的拉取请求说明

我们对生成的拉取请求说明进行了一些更新,以使结果更一致、重复项更少。 在“创建拉取请求”功能窗口中找到该功能,分享你对此调查的看法

取消解决方案加载

如果要在加载所有项目之前停止解决方案加载过程, 现在可以取消该操作并返回到空环境 IDE。 取消加载

Microsoft Teams 开发工具(Teams 工具包)

Teams 工具包现在包括一个新的项目文件 (.ttkproj),用于组织管理 Teams 应用的所有文件。 创建新的 Microsoft Teams 应用项目将会创建一个含有两个项目的解决方案,你将看到一个 TeamsApp 项目,其中包含 Teams 工具包功能的应用部件清单 (manifest) 和其他文件,还会看到另一个 C# 项目,其中包含用于实现对话机器人、Tab 等应用功能的示例代码。

Teams 工具包新解决方案

你还会找到以下更改:

  • 现在可以在 TeamsApp 项目上发现 Teams 工具包项目菜单
  • 支持预览功能 > 启用多项目启动配置文件,在 Teams、Outlook 和 Teams 应用支持的其他平台中启动调试更加简单

已知问题:“源代码管理”对话框

请参阅票证获取解决办法,以避免看到“找不到与此解决方案关联的源代码管理提供程序”对话框。


17.10.0-pre.2.0 Visual Studio 2022 版本 17.10 预览版 2

发布时间:2024 年 3 月 12 日

此次发布的 Visual Studio 2022 版本 17.10 预览版 2 的新增功能摘要

C++

Razor 文件中 C# 代码的嵌入提示

现在可以在 Razor(.razor、.cshtml)文件中启用 C# 代码的嵌入提示。 嵌入提示显示与代码内联的文字和对象实例化的参数名称。 嵌入提示还可以为具有推断类型(即 var)和 lambda 参数类型的变量显式类型提示。 可以通过“工具>选项>文本编辑器>C#>高级”启用此功能。

Razor 文件的嵌入提示

在 Visual Studio 编辑器中查看和处理拉取请求注释

现在可以直接在 Visual Studio 的工作文件中查看 GitHub 和 Azure DevOps 拉取请求注释。 你可以留在自己的上下文中进行必要的代码更改并与同事的建议进行交互,而无需将上下文切换到浏览器。

启用功能标志“拉取请求注释”,并签出拉取请求分支以开始使用:

用于在文件中显示批注的通知

可以使用工具栏在拉取请求中的文件和文件中的注释之间导航。

编辑器中的拉取请求注释

我们已经在努力改进下一版本的一个已知错误,即跳过已删除的文件或无法从解决方案资源管理器打开的特殊文件类型。 当我们改进这个客户要求的功能时,我们很乐意听到你的反馈,因此请在这里告诉我们你的想法。

使用生成的拉取请求说明改进代码评审

与生成的 Git 提交消息功能类似,你现在可以获得由 GitHub Copilot 创建的拉取请求描述的草稿。 你将获得帮助,以便向同事提供重要的上下文以供他们进行审阅,并仔细检查你是否在拉取请求中加入了正确的更改。

需要验证是否已安装有效的 GitHub Copilot 订阅和 GitHub Copilot 聊天扩展。 通过单击“创建拉取请求”窗口中的“添加 AI 生成的拉取请求描述”闪光笔图标来试用。 请在此处分享有关此功能的反馈。

使用 AI 生成 PR 说明

使用 GitHub Copilot 了解提交历史记录

翻阅 Git 历史记录可能会令人望而生畏,但这通常是了解代码库或帮助识别错误起源的最佳方式。 我们在“提交详细信息”窗口中添加了 GitHub Copilot 支持的解释功能,以便更轻松地理解每个提交的内容。

需要安装有效的 GitHub Copilot 订阅和 GitHub Copilot 聊天扩展。 双击任意提交以在 Git 存储库窗口中打开“提交详细信息”窗格。 然后,单击“说明提交”闪光笔图标,以获取与代码并排显示的更改摘要。 我们计划继续改进此功能,因此请在此处分享你的反馈。

使用 AI 解释提交消息

代码搜索和导航

在一体化搜索中,我们进行了一些更改以简化 UI 并提高可读性。 这些更改包括删除查询中匹配项的突出显示、删除包含每种结果类型计数的状态栏,以及将状态消息移至筛选器行。

一站式搜索 UI 更改

让我们了解你对开发者社区的看法。

使用新的文本格式选项提高 Visual Studio 的可读性

我们解决了 Visual Studio 2019 中的斜体字体支持问题,将斜体、删除线和下划线作为整个 IDE 中文本格式设置的附加选项。

设置注释格式以使用斜体

要使用新选项来个性化你的体验,请导航到“工具”>“选项”>“环境”中的“字体和颜色”页面,你可以在其中找到前面提到的每个选项的复选框。

图像悬停预览

任何 Web、桌面或移动开发者都经常使用图像。 你可以从 C#、HTML、XAML、CSS、C++、VB、TypeScript 甚至代码注释中引用图像。 有些图像位于本地的,有些存在于线上或网络共享上,还有一些图像仅作为 base64 编码字符串存在。 我们在代码中以多种方式来引用它们,但系统始终会以字符串值显示图像,而不显示图像的外观。 这种情况到此为止了。

图像悬停预览

我们添加了一个编辑器工具提示,系统会在鼠标悬停在代码编辑器中的图像引用上时显示该提示。 工具提示以原始尺寸显示图像,但宽度和高度上限为 500 像素。 在预览图像下方,你将看到图像大小(以像素为单位)和文件大小(以字节为单位)。 此功能是与 Visual Studio 社区密切合作开发而成。 谢谢!

调试和诊断

支持新 UpDown 和 ObservableCounter 检测的 .NET 计数器探查器可视化

Visual Studio 中的 .NET 计数器探查器现在引入了对两种创新指标的支持:UpDown,可以实时跟踪增量和减量更改的值;ObservableCounter,可以自主管理聚合总数,提供可自定义的回调委托以进行精确控制。 在提供的屏幕截图中,“total-hats”展示了一个 UpDown 计数器,而“orders-pending”展示了一个 ObservableCounter。

UpDown 和 ObservableCounter

此外,我们还实现了筛选器浮出控件功能,使你能够根据标签方便地筛选数据点。 这会根据应用的组合动态调整摘要视图和泳道视图。

UpDown 和 ObservableCounter 筛选器

这一增强功能显著提高了灵活性,简化了对项目中动态值的监视。 例如,在 Web 应用程序开发中,UpDown 计数器可以监视页面视图等用户交互,而 Observable 计数器则通过有效管理活动会话总数来优化服务器资源。

** 托管内存窗口中的 GC 见解

托管内存窗口“见解”选项卡现在支持 GC Insights。 此功能通过揭示触发垃圾回收 (GC) 的实例,让你更深入地了解应用程序的性能。 这些实例可能会阻碍进程的效率,因此通常被视作不良实例,原因在于它们涉及手动干预,而不是允许垃圾回收器自主管理内存分配。 此外,GC Insights 还提供了通过时间估计来分析这些事件的功能,使腻能够更好地理解触发 GC 对应用程序执行时间线的影响。

GC_Insights

SQL

ARM64 版 Visual Studio 支持 SSDT

现在可以在 ARM64 版 Visual Studio 中创建数据库项目。 此版本中提供的 SSDT 的一些主要功能包括:

  • 数据库项目(打开、生成、发布)
  • 架构比较
  • 数据比较
  • 查询编辑器
  • 表设计器
  • 数据库属性编辑器
  • 对象重构

此版本的一些限制如下所示:

  • 调试器
  • IntelliSense
  • 使用 localdb 在本地计算机中开发数据库

Windows 窗体进程外设计器

Windows 窗体进程外设计器中的性能改进

通过与关键合作伙伴展开的富有成效的合作,我们很高兴地宣布推出对 WinForms 服务器进程 TypeResolutionService 的重大优化。 这些增强功能显着提高了设计时性能,在典型的业务线应用程序中实现了不低于 30% 的提升,最高可取得 50% 的提升程度,十分引人注目。 值得注意的是,在触发服务器进程重新启动和设计器重新加载的场景中,这些增强功能的效果尤为突出,例如项目重建或项目引用调整。 这些性能改进的核心在于我们团队实施的新机制,优先考虑对设计器负载至关重要的组件。 我们推荐你探索更新的设计器,并通过 VS 反馈渠道分享宝贵的反馈,以便我们可以继续改进 WinForms 设计器的性能。

Microsoft Teams 开发工具(Teams 工具包)

  • 根据开发者计划中的最新更改,我们更新了有关 Microsoft 365 开发者计划的 UI 字词和字符串。

可扩展性

现在可以使用 Visual Studio 2022 版本 17.10 预览版或更高版本附带的 Visual Studio 安装程序将计算机范围的 Azure 市场扩展导出到 *.vsconfig 文件中。 我们在 17.9 版本中支持为 Visual Studio 安装程序加载 *.vsconfig 文件中指定的扩展,这是此功能的开发基础。 如果希望能够导出其他类型的扩展,请在现有的开发者社区建议工单注明“将非市场或用户上下文扩展导出到 *.vsconfig 文件中”,向我们告知此需求。

有关使用 *.vsconfig 文件的详细信息,请参阅联机文档。


17.10.0-pre.1.0 Visual Studio 2022 版本 17.10 预览版 1

发布日期:2024 年 2 月 13 日

此次发布的 Visual Studio 2022 版本 17.10 预览版 1 的新增功能摘要

Visual Studio 为编码任务提供了各种各样的工具和功能。 随着新技术的出现,我们会集成新的组件来支持你的软件开发体验。 建议将其中一些组件添加到你已安装的工作负载中。 因此,为了简化更新体验,从 17.10 P1 开始,Visual Studio 将在你更新 Visual Studio 时自动安装这些新的推荐组件。

可在“更新设置”对话框中修改此设置:

包括建议

有关 Visual Studio 中所有组件(包括建议的组件)的列表,请参阅 Visual Studio 组件 ID

改进了对 Android 仿真器性能影响的检测

尝试启动 Android 仿真器时,Visual Studio 将检查硬件加速,并显示有用的对话框来说明潜在的性能影响。 如果未配置计算机,或者计算机不支持使用 Windows 虚拟机监控程序平台 (WHPX) 进行硬件加速,则现在需要 Android Emulator 虚拟机监控程序驱动程序 (AEHD)。 Android 仿真器 API 33 及更高级别中已弃用 Intel 硬件加速执行管理器 (HAXM),并且在 Intel 处理器上已被 AEHD 取代。

有关详细信息,请参阅如何使用 Android 仿真器启用硬件加速(Hyper-V 和 AEHD)

对 SSDT 中 MCD(多列分布)的支持

用户现在可以在导出期间设置 DW 兼容级别。

  • 我们在“操作选项卡”下的“数据库设置”中添加了一个新的数据库选项。 它的名称是“DW 兼容性级别”。
  • 可能的值为 Auto|10|20|30|40|50|9000,并且仅适用于目标 - Microsoft Azure SQL 数据仓库

DW 兼容性级别

调试和诊断

从表达式创建条件断点和跟踪点

这项更新使用新的菜单选项(“插入条件断点”和“插入跟踪点”)简化调试。现在可使用自动窗口、局部变量、监视窗口或数据提示中共的属性或字段名称和值轻松创建断点。 这可简化工作流调试,尤其是对于复杂的表达式。

表达式 BP

使用内存工具简化内存使用情况调查

新的“热路径到根”功能通过查找最有可能的根路径来计算对象的总大小,从而改进内存分析。 它使用快捷方式将堆图转换为树,例如优先考虑最短路径和避免循环实际根的路径。 此功能是内存调查的一个很好的起点,在内存使用工具参考图中称为“热路径到根”。 你将在下面的树中看到带有红色图标的热路径。

根的热路径

“附加到进程”对话框改进

Visual Studio 中的“附加到进程”对话框得到了很大的改进,可提供更好的功能和用户友好性。 这些更新包括与 Visual Studio 主题的无缝集成、更节省空间且显示连接信息工具提示的视图,以及将“本地”连接设置为默认值来加快访问速度。 现在可轻松地在树视图和列表视图之间切换,使用可折叠部分更好地组织流程,并使用简化的组合框选择代码类型。 此外,“选择/跟踪窗口”功能现在更易于使用,支持双向跟踪,选择进程会突出显示其窗口,而单击窗口可选择其进程。

附加到进程

EXE 的目标检测

性能探查器的检测工具现在支持对任何可执行文件 (exe) 进行目标分析。 选择 exe 文件后,会显示一个目标检测对话框,类似于启动项目分析。 通过此增强功能,可集中分析特定可执行文件的性能指标。 此外,还可使用“添加项”按钮添加额外的动态链接库 (DLL),从而扩大分析范围,增强应用程序性能检查。

预检测

预览“统一设置”,这是新的 Visual Studio 设置体验

从 Visual Studio 17.10 预览版 1 开始,你将能够试用 Visual Studio 重构设置体验的早期预览版。 虽然我们仍在努力改进整体体验,并且仍在将设置转移到新的体验,但你将能够立即试用该体验并分享你的反馈。

有了新的设置体验,现在配置、共享和存储自定义设置比以往任何时候都更容易。 你将有更多的空间来配置设置,能够在用户(Visual Studio 安装)和打开解决方案/文件夹级别自定义设置,获得增强的设置搜索功能,实现基于 JSON 的设置存储等等。

一个显示了 Visual Studio 的新设置 UI 的图像

除了上面提及的内容,你现在还会找到一个齿轮图标,用于打开每个设置的菜单。 该菜单提供了一种简单的方式来将自定义设置重置为其默认值,或与我们分享有关特定设置的反馈。

一个显示了 Visual Studio 的新设置 UI 中的齿轮图标菜单的移动图像

若要尝试新的设置体验,请导航到“工具”>“选项”>“环境”>“预览功能”并启用“统一设置体验”检查框,或者使用“工具”>“选项体验”菜单浮出控件从“经典”切换到“预览”。 完成后,重启 Visual Studio 并通过“工具”>“选项”访问新设置体验。

我们仍在积极开发此功能。 虽然所有设置页面尚未从现有体验迁移到“统一设置”体验,但你仍能够管理所有设置,因为对于未迁移的设置,“统一设置”将链接到旧 UI。

你的反馈对于帮助我们优先考虑接下来迁移哪些页面非常有用。 除了你希望接下来看到哪些页面被迁移,请通过开发者社区分享你的总体印象、我们可如何改进,以及你对此体验可能具有的其他反馈。

使用 .NET Aspire 构建云原生应用

.NET Aspire 是有主见的云就绪堆栈,用于生成可观察的、生产就绪的分散式应用程序。 .NET Aspire 通过处理特定云原生问题的 NuGet 包集合提供。 无论是使用 PostgreSQL 和 Redis 等容器化资源构建分布式云原生应用程序,还是使用存储或服务总线等 Azure 组件进行构建,.NET Aspire 都将简化开发体验并让你能够更深入地了解你的分散式应用,其功能如下:

  • 无需配置解决方案即可进行多项目启动和调试
  • 使用一组有主见的扩展和默认值提供对 HTTP 复原能力、运行状况检查和 OpenTelemetry 的内置支持
  • 使用新的 .NET Aspire 仪表板启动体验在浏览器中方便地查看容器化资源和 .NET 项目的日志、指标和分布式跟踪
  • Azure Developer CLI (AZD) 之上构建的新部署方法,因此在大多数情况下,你将拥有多节点部署功能,无需编写自己的基础结构代码

GIF

对生成的 Git Commit 消息的更新

我们听取了你的反馈,将缩短所生成的 Git Commit 功能的输出。 在开发者社区中的票证上分享有关此更改的反馈。

AI 生成的 Git 提交消息的输出更短

将工作项链接到拉取请求

在 Visual Studio 中创建拉取请求时,Azure DevOps 用户的首要请求是启用工作项链接。 现在,可试用“相关工作项”部分查看你在拉取请求说明中引用的任何工作项,并将工作项连接到 Azure DevOps 上的拉取请求。

链接工作项

C++

  • 我们现支持在 CMake 目标视图中固定 CMake 目标。 对于已固定的目标,现在有一个顶级文件夹。 可在上下文菜单上右键单击并选择 Pin 选项来固定任何目标。

通过上下文菜单固定 CMake 目标

还可选择 Unpin,取消固定“已固定的目标”文件夹中的任何目标。

  • MSVC 工具集将次要版本号从 19.39 (VS 2022 v17.9) 递增到 19.40 (VS 2022 v17.10)。 MSVC 工具集将是预览版 1 中的版本 19.40.33521.0。 有关更多详细信息,请参阅“VS 2022 v17.10 中的 MSVC 工具集次要版本号 14.40”博客文章

  • 现在可以使用 Build Insights 来查看模板实例化信息。 必须在“工具”>“选项”>“Build Insights”中激活模板实例化集合。 递归模板实例化

  • 我们添加了额外的 Unreal Engine 宏,根据 UE 代码样式进行缩进。

  • 现在,你可使 Unreal Engine 测试适配器所需的 Unreal Engine 插件保持在后台运行,从而极大地降低启用成本。 这是一项选择加入功能,可通过“工具”>“选项”>“Unreal Engine”来激活。


已知问题

  • 安装了 Delinea 特权管理软件的用户可能会在启动 Visual Studio 时遇到问题。 Delinea 已了解此问题并已解决此问题。 请通过 https://delinea.com/support 联系他们,获取有关如何解决此问题的说明。

  • 一些开发人员在生成配置之间切换(例如,从“发布”到“调试”)时遇到服务挂起的情况。 受影响的开发人员可以设置环境变量“MSBUILDDISABLEFEATURESFROMVERSION=17.10”。 这种解决方法旨在缓解问题,同时我们在努力寻求永久解决方案。 开发者社区站点提供了更多详细信息


注意

此更新可能包括单独许可的新 Microsoft 或第三方软件,如第三方通知或其随附许可证中所述。