天下网吧消息,近日微软官方推出了Visual Studio 2022 17.3版本,相信各位天下的码农都接收并安装了更新了吧。
那么Visual Studio 2022 17.3版本到底更新了啥?值得各位码农大大升级更新到最新版本吗?
一起来看看,官方关于Visual Studio 2022的更新日志:
-
MAUI 工作负载 GA 构建
-
MAUI/Blazor CSS 热重载支持
-
现在,您可以使用我们的新增功能在每次更新时试用 Visual Studio 中的一系列新功能。
-
选择每个功能以了解有关特定功能的更多信息。
苹果开发者账户
此预览版包括对非企业 Apple 开发人员所需的个人 AppStoreConnect 帐户的初始支持。
-
要添加个人帐户,请打开工具\选项,然后选择位于 Xamarin 部分中的“Apple 帐户”项。在“Apple Accounts”中,单击“Add Account...”按钮并选择“Add Individual Account”并输入AppStoreConnect API Key信息。
-
创建帐户后,可以通过“查看详细信息”按钮访问证书和配置文件。
-
已知的问题:
-
在某些情况下,个人帐户的自动配置可能无法正常工作。要解决此问题,请按照手动配置的说明进行操作。
编辑器中的音频提示
-
我们在 Visual Studio 编辑器中引入了新的音频提示。启用后,当编辑插入符号到达带有断点、错误或警告的行时,Visual Studio 将播放声音。默认情况下,Visual Studio 使用与 Visual Studio Code 相同的声音,但这些声音可以根据用户的偏好进行配置。
-
要启用音频提示,请前往工具\选项并在环境下查找“预览功能”。在预览功能中,新选项是“为编辑器启用音频提示”。如果选中,则下次启动 Visual Studio 时,将播放声音。
-
要配置单个音频提示,请在 Windows 10 或 Windows 11 中点击 Windows 键并搜索“更改系统声音”。在 Program Events 下,在 Program Events 树中查找“Microsoft Visual Studio”节点。新事件是“线路有断点”、“线路有错误”和“线路有警告”。这可用于自定义或禁用单个声音。
Git 工具
Line-staging 支持,也就是交互式 staging,能够直接从编辑器和 diff 视图中暂存特定的行和/或代码块。首先,通过选择相应的颜色边距并利用 Peek Difference UI 来暂存您的更改,从而暂存您最近的一项更改。
阅读我们的博客文章以了解更多信息并分享您的反馈。
C++
-
Arm64EC 工具链不再标记为实验性的,已准备好投入生产使用。
-
Visual Studio 终端现在可以用作存储 SSH 连接的 SSH 客户端。安装 C++ for Linux Tools 后,打开终端工具窗口,终端下拉列表将填充您存储的连接。如果选中,它们将在 Visual Studio 中打开一个新的终端窗口,并在您的远程系统上打开一个伪终端。都支持控制字符、颜色和光标位置感知。
-
Visual Studio 现在可以为您的 UE 项目添加虚幻引擎类模板。要试用此功能,请确保在 VS 安装程序的“使用 C++ 进行游戏开发”工作负载中选择“IDE 支持 Unreal Engine”。处理 UE 项目时,右键单击项目或文件夹/过滤器,然后选择 Add > UE Class。
-
转到定义现在将记住先前的签名并在没有更好的匹配时进行相应的导航(例如,在您手动更改其中一对的签名之后)。
-
改进了 Go To All 的响应能力。以前,结果会在您停止输入后出现。在新体验中,结果将在您键入时显示。
-
在需要枚举类型完成的上下文中(例如,分配给枚举变量、case标签、返回枚举类型等),自动完成列表现在将被过滤为仅匹配的枚举数和相关构造。
-
为面向 .NET Core 的 C++/CLI MSBuild 项目添加了 NuGet PackageReference 支持。进行此更改是为了解除对混合代码库采用 .NET Core 的阻碍。这不适用于其他 C++ 项目类型或任何面向 .NET Framework 的 C++ 项目类型。没有计划将 PackageReference 支持扩展到其他 C++ 场景,因为团队正在开发涉及 vcpkg 的单独体验,这将适用于非 MSBuild 场景并添加其他功能。
-
添加了一个用于嵌入式开发的串行监视器窗口,可通过 Debug > Windows > Serial Monitor 获得。
-
与 17.2 相比,将 C++ 索引提高了约 66%。
-
将 Visual Studio 附带的 CMake 版本更新为 3.23 版。有关可用内容的详细信息,请参阅CMake 3.23 发行说明。
-
将 Visual Studio 附带的 LLVM 工具版本升级到 v14。有关可用内容的详细信息,请参阅LLVM和Clang发行说明。
-
将 Dev 16.11 C++ 工具集并排更新到版本 14.29.30145.00。Dev 16.11 C++ 工具集的最新版本包含重要的错误修复,包括修复所有剩余的 C++20 缺陷报告。有关错误修复的信息,包括 Dev 16.11 中的 C++20 缺陷报告,请参阅https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes#16.11.14
-
我们对 C++ 模块的编辑器内体验进行了各种改进。“我们一直致力于提高体验质量,但鼓励您尝试 17.3 并通过开发者社区报告剩余问题。
调试和诊断
-
诊断分析工具现在包括一个分析器,该分析器列出内存转储中的唯一调用堆栈以及执行它们的线程。
-
IEnumerable 可视化工具现在支持以 CSV 格式导出数据。只需使用右上角的下拉菜单并选择 CSV。Visualizer 还将允许您根据所需的过滤字符串过滤数据。Visualizer 将返回包含与过滤器字符串匹配的值的所有行。您还可以以 CSV/Excel 格式导出过滤和排序的结果。
-
我们还添加了对 IEnumerable 和 DataTable/DataSet 可视化器的主题支持,因此这两个可视化器窗口都以 Visual Studio 的深色、浅色和蓝色主题为主题。
-
开始 17.3 preview 3 调试器将自动重新加载以前的反编译工件,如符号和 PDB 文件。如果您选择在之前的任何会话中进行反编译,则工件将自动为所有下一个会话重新加载,并将让您在外部源节点中更快地获得反编译的源。这仍然会尊重您的 JMC 设置。
-
调试器现在提供了一个新选项来禁用 NGEN 的加载或托管代码的准备加载 (RDR) 图像。您可以在“工具”>“选项”>“调试”>“常规”>“防止在模块加载时使用预编译图像”下更改设置,也可以使用 Visual Studio 搜索栏中的任何关键字轻松搜索设置。
-
您现在将在“调用堆栈”窗口中看到异常堆栈帧,因此对于所有异步异常,您可以快速加载符号或定位源并直接转到异常位置。调用堆栈窗口内的异常堆栈帧将提供实际调用堆栈的功能。自动导航、在帧之间快速来回切换以及符号加载/反编译选项以返回引发异常的源代码等功能。
一般的
-
使用相同个性化帐户(帐户显示在帐户设置对话框的左上方)登录新机器时,GitHub 帐户现在可以跨机器漫游。
安装程序
-
您现在可以使用安装程序上的“全部更新”按钮更新 Visual Studio 的所有并行版本。
Microsoft 团队开发工具(团队工具包)
-
Microsoft Teams 应用项目模板已得到改进,现在可以创建各种类型的 Teams 应用,包括通知机器人、命令机器人、选项卡应用和消息扩展。您现在可以使用 Teams Toolkit for Visual Studio 创建和调试各种 Microsoft Teams 应用程序。
-
我们建议使用更新后的模板为您使用以前版本的 Teams Toolkit 创建的任何现有 Teams 应用创建一个新项目。
-
您现在可以选择何时使用您的 M365 身份登录并使用“项目”>“团队工具包”>“准备团队应用程序依赖项”菜单选项注册团队应用程序资源。
-
准备 Teams 应用依赖项将为您的 Teams 项目注册 Teams 应用和 Bot。
-
通过随时再次选择“准备 Teams 应用程序依赖项”菜单选项,可以将 manifest.template.json 文件的更新与 Teams Developer Portal 同步以进行本地调试。
-
通过在 Teams Developer Portal 菜单选项中选择 Project > Teams Toolkit > Update Manifest,可以将 manifest.template.json 文件的更新与 Teams Developer Portal 同步以进行远程预览。
-
您可以通过右键单击 manifest.template.json 文件并使用 Preview Manifest File 菜单选项在同步之前预览清单文件。
-
使用 Cloud 菜单中的 Project > Teams Toolkit > Provision 在 Azure 订阅中创建资源。
-
使用 Project > Teams Toolkit > Deploy to the Cloud 菜单将代码发布到这些资源。
-
您可以使用 Preview Teams 应用菜单在从 Provision 菜单创建的浏览器中远程打开 Teams 应用。
-
您可以通过选择 Project > Teams Toolkit > Zip App Package 菜单选项来压缩 Teams 应用程序并生成应用程序包,以用于共享和上传目的。
-
您可以通过右键单击 Teams 应用项目找到所有 Teams Toolkit 菜单选项,它们与 Project > Teams Toolkit 菜单相同。
-
在https://aka.ms/teams-toolkit-vs-docs了解有关 Teams 工具包的更多信息
.NET 生产力
-
在 C# 10 中,我们引入了全局使用。Global Usings 以不可见的方式自动将 usings 添加到文件的顶部。我们现在在您的文件顶部显示一个图标,让您知道全局使用是否在您的文件中处于活动状态,如果您单击该图标,它将向您显示这些全局使用是什么。
-
Peek Definition 现在支持源链接、嵌入源和反编译源。
-
我们添加了以下三个选项,用于在文件打开时折叠和概述视图:
-
在文件打开时折叠#regions
-
在文件打开时折叠使用
-
在文件打开时从元数据中折叠实现
-
您现在可以将 Fix All 应用于重构Use expression body or block body和Convert to raw string literal重构。
-
我们现在有一个修复无效约束的代码修复。将光标放在编辑器中的诊断曲线上。按Ctrl + 。触发快速操作和重构菜单。选择修复约束。
-
我们现在有一个重构,允许您在顶级语句和 Program.Main 样式之间切换。将光标放在顶级语句上。按Ctrl + 。触发快速操作和重构菜单。选择转换为“Program.Main”样式的程序。
-
我们为 Fix All 操作添加了额外的范围。除了将 Fix All 操作应用于文档、项目和解决方案之外,您还可以将 Fix All 应用于包含成员和包含类型。
-
现在,当您向单行注释添加额外的正斜杠时,我们会自动将单行注释转换为文档注释。
-
我们现在有一个代码样式选项,允许您警告 foreach 循环中可能出现的异常。Foreach 循环通过设计隐式转换为派生类型。这在泛型存在之前是必要的,但在某些情况下会导致运行时异常。
个性化
这些功能包括:
-
以多行排列的选项卡。
-
恢复最近的文档。
-
修改脏指示器。
-
下拉列表以斜体显示不可见文档的名称。
Razor (ASP.NET Core) 编辑器
-
新的 Razor 编辑器现在在<attribute>.
-
新的 Razor 编辑器现在可以在键入 =“ ”时正确处理 HTML 属性的完成。
-
新的 Razor 编辑器现在支持 HTML、JavaScript 和 CSS OnTypeFormatting。
测试工具
-
从测试资源管理器运行测试时,现在默认启用并行发现。这使 Visual Studio 能够使用可用内核并行发现测试并减少在测试资源管理器中查看测试的时间。
-
Live Unit Testing 窗口现在有一个状态栏,类似于测试资源管理器。这应该让您更好地了解 Live Unit Testing 中正在进行的操作以及明显的表面错误。
-
vstest.console 现在支持在一个请求中运行不同目标平台和目标框架的程序集。
-
代码覆盖率现在有一个静态检测缓存以获得更好的性能。
-
Microsoft.CodeCoverage.Console现在已添加到命令行工具中。
-
AnyCPU .NET Framework 测试项目的默认体系结构从 x86 更改为 x64。此更改统一了如何在所有类型的测试项目中确定默认体系结构,以始终基于 Visual Studio 的体系结构。这意味着在 x64 版本的 VisualStudio 中,将使用 x64,而在未来的 ARM64 VisualStudio 中,将使用 ARM64。同样的规则也适用于dotnet test, 和vstest.console。要恢复使用 x86,请导航至测试 > AnyCPU 项目的处理器架构 > x86
-
远程测试现在支持针对远程 arm64 Windows 环境的测试运行。
-
[Live Unit Testing] 的新构建体验现在默认启用。阅读我们的博客文章以了解更多信息。
-
您现在可以通过在“代码覆盖率结果”窗口中选择“边距字形”来选择在编辑器边距上查看代码覆盖率信息。
-
Live Unit Testing 现在提供了一个按钮来重置所有状态。通过转到测试 > Live Unit Testing > 重置 Live Unit Testing 状态以获取解决方案。
-
Live Unit Testing 现在支持 Razor 文件。
TypeScript 和 JavaScript 开发
-
JavaScript 和 TypeScript 文件项目现在被排除在程序分析之外,除非它们被 tsconfig.json 或 jsconfig.json 文件引用。结果应该是在具有大量 TypeScript 和 JavaScript 文件的大型项目中提高了性能。
-
从 ASP.NET 项目引用的 JavaScript (.esproj) 项目现在提供了在 ASP.NET 项目发布中包含生产生成输出的选项。
-
TypeScript 4.7 语言服务和编译器包含在 Visual Studio 中。有关更多信息,请参阅TypeScript 4.7 公告博客文章。
-
现在默认在 Node.js (.njsproj) 项目中使用新的多目标 JavaScript 调试器。
-
JavaScript 和 TypeScript React (.jsx/.tsx) 文件中的自动关闭 HTML 标记。
-
修复了选择默认 TypeScript 语言服务器时自动类型获取 (ATA) 不起作用的问题。
-
修复了使用 npm 7 或更高版本恢复包时 Node.js (.njsproj) 项目中的依赖项节点显示间接依赖项的问题。