Visual Studio 2022 v17.3 发布

出品|开源中国

Visual Studio 2022 17.3 正式发布,新版本带来了不少微软此前承诺的新功能,如 .NET MAUI GA 工具、Azure Container 应用程序等;以及在开发者社区中建议的新功能

Visual Studio 2022 v17.3 更新内容如下:

MAUI 工作负荷 GA 生成

MAUI/Blazor CSS 热重载支持

现在,你将能够使用我们的新增功能在 Visual Studio 中使用每个更新试用一系列新功能

选择每个功能以了解有关特定功能的详细信息。

Apple 开发人员帐户

此预览版包括对非企业 Apple 开发人员所需的单个 AppStoreConnect 帐户的初始支持

若要添加个人帐户,请打开 “工具 选项”,然后选择位于 Xamarin 部分中的 “Apple 帐户” 项。 在 “Apple 帐户” 中,单击 “添加帐户...” 按钮并选择 “添加个人帐户”,并输入 AppStoreConnect API 密钥信息。

创建帐户后,可以通过 “查看详细信息” 按钮访问证书和预配配置文件

已知问题:

在某些情况下,对于个人帐户,自动预配可能无法正常工作。 若要解决此问题,请按照 手动预配的说明进行操作。

编辑器中的音频提示

我们在 Visual Studio 编辑器中引入了新的音频提示。 启用后,当编辑插入符号到达断点、错误或警告的行上时,Visual Studio 将播放声音。 认情况下,Visual Studio 使用与 Visual Studio Code 相同的声音,但这些声音可以配置为用户的首选项。

若要 启用 音频提示,请转到 “工具 选项”,并在 “环境” 下查找 “预览功能”。 在预览功能中,新选项为 “为编辑器启用音频提示”。 如果已选中,下次启动 Visual Studio 时,声音将播放。

若要配置单个音频提示,请点击 Windows 10 或 Windows 11 中的 Windows 键并搜索 “更改系统声音”。 在 “程序事件” 下,在 “程序事件” 树中查找 “Microsoft Visual Studio” 节点。 新事件是 “行有断点”、“行有错误” 和 “行有警告”。 这可用于自定义或禁用单个声音。

Git 工具

行暂存支持,即交互式暂存,能够直接从编辑器和差异视图暂存特定行和 / 或代码块。 若要开始,请通过选择相应的颜色边距并利用速览差异 UI 暂存更改来暂存最近的更改之一。

阅读我们的 博客文章 ,了解详细信息并 分享你的反馈。

C++

Arm64EC 工具链不再标记为实验性,可供生产使用。

Visual Studio 终端现在可以用作具有存储 SSH 连接的 SSH 客户端。 安装适用于 Linux 工具的 C++ 后,打开终端工具窗口,终端下拉列表将填充存储的连接。 如果选择,他们将在 Visual Studio 中打开一个新的终端窗口,并在远程系统上打开伪终端窗口。 支持控制字符、颜色和光标位置感知。

转到 “定义” 现在将记住以前的签名,并在更好的匹配项不可用 (时相应地导航,例如手动更改其中一对) 的签名后。

改进了 “全部转到” 的响应能力。 以前,停止键入后会显示结果。 在新体验中,结果会显示在键入时。

在需要枚举类型完成的上下文中, (例如枚举变量、标签case 返回枚举类型等的赋值,) 自动完成列表现在将筛选为仅匹配的枚举器和相关构造。

添加了针对面向 .NET Core 的 C++/CLI MSBuild 项目的 NuGet packagereference 支持。 此更改用于取消阻止混合代码库,使其无法采用 .NET Core。 这不适用于其他 C++ 项目类型或任何面向.NET Framework 的 C++ 项目类型。 没有计划将 packagereference 支持扩展到其他 C++ 方案,因为团队正在处理涉及 vcpkg 的单独体验,这将适用于非 MSBuild 方案并添加其他功能

添加了用于嵌入式开发的串行监视器窗口,可通过调试 > Windows > 串行监视器获得。

与 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++ 工具集包含重要的 bug 修复,包括修复所有剩余的 C++20 缺陷报告。 有关 bug 修复的信息,包括 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。可视化工具还允许筛选基于所需筛选字符串的数据。 可视化工具将返回包含与筛选器字符串匹配的值的所有行。 还可以以 CSV/Excel 格式导出筛选和排序结果。

我们还添加了对 IEnumerable 和 DataTable/DataSet 可视化工具的主题支持,因此这两个可视化工具窗口都针对 Visual Studio 的深色、浅色和蓝色主题进行了主题

从 17.3 预览版 3 调试器开始,将自动重新加载伪装的反编译项目,如符号和 PDB 文件。 如果选择在任何以前的会话中反编译,则所有下一个会话都会自动重新加载项目,并让你在外部源节点中更快地进入反编译源。 这仍会遵循 JMC 设置。

调试器现在提供了一个新选项,用于禁用 NGEN 的加载或准备为托管代码加载 (RDR) 映像。 可以在模块加载上使用预编译图像的 “工具 > 选项 > 调试 > 常规 > 阻止” 下更改设置,也可以使用 Visual Studio 搜索栏中的任何关键字轻松搜索设置。

现在,你将在 “调用堆栈” 窗口中看到异常堆栈帧,因此,对于所有异步异常,你可以快速加载符号或定位源并直接转到异常的站点调用堆栈窗口中的异常堆栈帧将提供实际调用堆栈的功能自动导航、在帧之间快速切换以及符号加载 / 反编译选项等功能,以返回到引发异常的源代码

常规

现在,当使用同一个性化帐户登录新计算机上时,GitHub 帐户在计算机中漫游, (帐户显示在帐户设置对话框左上角) 。

安装程序

现在,可以使用安装程序上的 “全部更新” 按钮更新 Visual Studio 的所有并行版本。

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

Microsoft Teams 应用项目模板已得到改进,现在会创建各种类型的 Teams 应用,包括通知机器人、命令机器人、选项卡应用和消息扩展。 现在可以使用 Teams Toolkit for Visual Studio 创建和调试各种 Microsoft Teams 应用。

对于使用以前版本的 Teams 工具包创建的任何现有 Teams 应用,建议使用更新的模板创建新项目。

现在可以选择何时使用 M365 标识登录,并使用 Project > Teams Toolkit > Prepare Teams 应用依赖项菜单选项注册 Teams 应用资源。

准备 Teams 应用依赖项将为 Teams 项目注册 Teams 应用和机器人。

汇报 manifest.template.json 文件可以与 Teams 开发人员门户同步进行本地调试,方法是随时再次选择 “准备 Teams 应用依赖项” 菜单选项。

可以通过选择 Project > 与 Teams 开发人员门户同步到 manifest.template.json 文件的汇报,以便进行远程预览 Teams 开发人员门户菜单中的 Teams 工具包 > 更新清单选项。

可以在同步前预览清单文件方法是右键单击 manifest.template.json 文件并使用 “预览清单文件菜单选项。

使用云菜单中的 Project > Teams 工具包 > 预配在 Azure 订阅中创建资源。

使用 “项目”>“Teams 工具包”>“部署到云” 菜单代码发布到这些资源。

可以使用预览版 Teams 应用菜单从 “预配” 菜单创建的浏览器中远程打开 Teams 应用。

可以通过选择 Project > Teams Toolkit > Zip 应用包菜单选项来压缩 Teams 应用并生成应用包,以便共享和上传目的。

可以通过右键单击 Teams 应用项目来查找所有 Teams 工具包菜单选项,它们与 Project > Teams 工具包菜单相同。

详细了解 Teams 工具包 https://aka.ms/teams-toolkit-vs-docs

.NET 效率

在 C# 10 中,我们引入了全局使用。 全局 Usings 会将 usings 添加文件顶部,且不可见且自动。 现在,在文件顶部显示一个图标,告知你全局使用是否在你的文件中处于活动状态,如果单击该图标,它将向你显示这些全局用法

速览定义现在支持链接、嵌入源和反编译源。

我们添加了以下三个选项,用于在打开文件时折叠和大纲视图:

打开文件时折叠 #regions

在打开文件时折叠

文件打开的元数据折叠实现

现在可以将 “全部修复” 应用于 Use expression body or block bodyConvert to raw string literal 重构。

我们现在有一个用于修复无效约束的代码修补程序。 将光标置于编辑器中的诊断波形曲线上。 按 (Ctrl+.) 触发 “快速操作和重构” 菜单。 选择 “修复约束”。

我们现在有一个重构,可用于在顶级语句和 Program.Main 样式之间切换。 将光标置于顶级语句上。 按 (Ctrl+.) 触发 “快速操作和重构” 菜单。 选择 “转换为‘Program.Main’样式程序”。

我们在 “全部修复” 操作中添加了更多范围。 除了将 “全部修复” 操作应用到文档、项目和解决方案之外,还可以将 “全部修复” 应用到包含成员和包含类型。

现在,当你向单行注释添加额外的正斜杠时,我们会自动将单行注释转换为文档注释。

我们现在有一个代码样式选项,可用于在 foreach 循环中针对可能的异常发出警告。 根据设计,foreach 循环会隐式强制转换为派生类型。 这在泛型存在之前是必需的,但在某些情况下可能会导致运行时异常。

个性化

文档管理功能已更新。 阅读我们的博客文章,了解更多信息。

这些功能包括

多行排列的选项卡。

还原最近的文档。

修改的脏指示器。

下拉列表显示斜体中不可见文档的名称

Razor (ASP.NET Core) 编辑器

新的 Razor 编辑器现在在 <attribute> 内部提供完全完成支持

在键入 =“ ” 时,新的 Razor 编辑器现在可正确处理 HTML 属性的完成。

新的 Razor 编辑器现在支持 HTML、JavaScript 和 CSS OnTypeFormatting。

测试工具

从测试资源管理器运行测试时,现在认启用并行发现。 这使 Visual Studio 能够使用可用核心并行发现测试,并减少在测试资源管理器中查看测试的时间。

“Live Unit Testing” 窗口现在有一个状态栏,类似于测试资源管理器。 这应该更深入地了解实时单元测试中正在进行的操作,以及明显地显示错误

vstest.console 现在支持一个请求中运行不同目标平台和目标框架的程序集。

代码覆盖率现在有一个用于静态检测的缓存,以提高性能

Microsoft.CodeCoverage.Console 现已添加到命令行工具。

Anycpu .NET Framework 测试项目的认体系结构已从 x86 更改为 x64。 此更改统一了认体系结构在所有类型的测试项目中确定的方式,这些测试项目始终基于 Visual Studio 的体系结构。 这意味着,在 x64 版本的 VisualStudio 中,将使用 x64,将来将使用 ARM64 VisualStudio。 同一规则也适用于 dotnet testvstest.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 公告博客文章

新的多目标 JavaScript 调试器现在认在 Node.js (.njsproj) 项目中使用。

JavaScript 和 TypeScript React (.jsx/.tsx) 文件中的自动关闭 HTML 标记

修复了选择认 TypeScript 语言服务器时自动类型获取 (ATA) 不起作用的问题。

修复了以下问题:当使用 npm 7 或更高版本还原包时,Node.js (.njsproj) 项目中的依赖项节点显示间接依赖项。

更多详情可查看:https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-3-is-Now-available/

原文地址:https://www.toutiao.com/article/7130452551656538639/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


在网易云游戏中做一些任务可以获得游戏时间,那么具体怎么做呢?下面小编就为大家详细的介绍一下,相信一定会帮到你们的。 网易云游戏怎么获得游戏时间?网易云游戏获得游戏时间方法 首...
腾讯课堂是一款很好的学习软件,很多小伙伴都在上面学习,那么腾讯课堂怎么评价课程呢,下面小编就为大家详细的介绍一下,相信一定会帮到你们的。 腾讯课堂怎么评价课程?腾讯课堂评价课程操作步骤...
很多小伙伴在使用微信转账的时候,想知道如何隐藏实名,下面小编给大家整理了相关步骤介绍,感兴趣的小伙伴不要错过哦! 微信转账如何隐藏实名?微信转账隐藏实名具体步骤 1、首先打开微...
七天学堂如何注销账号?很多小伙伴想知道在这款软件中该怎样注销账号,下面小编就为大家带来了七天学堂重新登录教程,一起来看看吧。 七天学堂如何注销账号?七天学堂重新登录教程 1、...
在哔哩哔哩中看游戏视频可以设置视频静音播放,那么具体怎么设置呢?下面小编就为大家详细的介绍一下,大家感兴趣的话就一起来了解下吧! 哔哩哔哩游戏怎么设置视频静音播放?哔哩哔哩游戏设置视频静音...
很多人不知道高德地图如何创建群组?今日为你们带来的文章是高德地图创建群组的方法,还有不清楚小伙伴和小编一起去学习一下吧。 高德地图如何创建群组?高德地图创建群组的方法 1、打开...
很多人不知道钉钉自启动权限如何关闭?今日为你们带来的文章是钉钉自启动权限的关闭方法,还有不清楚小伙伴和小编一起去学习一下吧。 钉钉自启动权限如何关闭?钉钉自启动权限关闭方法 1...
我们都知道通过抖音保存自己喜欢的视频到手机相册打开后会有抖音号水印,那抖音保存的图片怎么去掉抖音号?下面小编给大家介绍一下抖音保存的图片去掉抖音号方法,一起来看看吧~ 抖音保存的图片怎么去...
网易云音乐怎么评论别人?很多用户都不知道怎么操作,下面小编给大家介绍一下网易云音乐评论别人教程,一起来看看吧。 网易云音乐怎么评论别人?网易云音乐评论别人教程 1、首选我们需...
钉钉中有一个头衔展示功能,很多小伙伴想知道怎么关闭头衔展示,下面小编就为大家详细的介绍一下,大家感兴趣的话就一起来了解下吧! 钉钉怎么关闭头衔展示?钉钉关闭头衔展示操作步骤...
很多在qq中发布动态的小伙伴想知道动态删除了还能不能恢复,下面小编就为大家详细的介绍一下,大家感兴趣的话就一起来了解下吧! qq动态删除了能不能恢复?qq动态删除了是否能恢复介绍...
腾讯课堂中也有个性化推荐功能,不过很多小伙伴都想关闭个性化推荐,那么具体怎么操作呢?下面小编给大家整理了相关步骤介绍,感兴趣的小伙伴不要错过哦! 腾讯课堂怎么关闭个性化推荐?腾讯课堂关闭个...
腾讯会议不登录能加入会议吗?想必很多小伙伴都很想知道,下面小编就为大家详细的介绍一下,相信一定会帮到你们的。 腾讯会议不登录能加入会议吗?腾讯会议不登录能不能加入会议 腾讯会议...
小伙伴们知道学习通怎么开启悬浮窗吗?今天小编就来讲解学习通开启悬浮窗的方法,感兴趣的快跟小编一起来看看吧,希望能够帮助到大家呢。 学习通怎么开启悬浮窗?学习通开启悬浮窗方法 1...
小伙伴们知道抖音画质怎么增强吗?今天小编就来讲解抖音画质增强的方法,感兴趣的快跟小编一起来看看吧,希望能够帮助到大家呢。 抖音画质怎么增强?抖音画质增强方法 1、在抖音的个人...
在美团外卖中有面单红包可以抢,不过很多小伙伴不知道在哪抢免单红包,下面小编给大家整理了相关步骤介绍,感兴趣的小伙伴不要错过哦! 美团外卖在哪抢免单红包?美团外卖抢免单红包详细方法...
很多小伙伴在美团通过做任务获取了米粒,想要用米粒兑换红包,但是不知道美团米粒在哪里看,下面小编就为大家详细的介绍一下,大家感兴趣的话就一起来了解下吧! 美团米粒怎么查看?美团米粒查看方法...
醒图的白牙在哪里?醒图app中人物想要美白牙齿,该怎么使用醒图自带的白牙功能呢?下面小编给大家介绍醒图人物图片美白牙齿的技巧,一起来看看吧。 醒图的白牙在哪里? 醒图人物图片美白牙齿的技巧...
很多人不知道抖音密友时刻如何关闭?今日为你们带来的文章是抖音密友时刻的关闭方法,还有不清楚小伙伴和小编一起去学习一下吧。 抖音密友时刻如何关闭?抖音密友时刻关闭方法 1、我们打...
近日有一些小伙伴咨询小编微信听筒播放语音怎么关闭?下面就为大家带来了微信听筒播放语音的关闭方法,有需要的小伙伴可以来了解了解哦。 微信听筒播放语音怎么关闭?微信听筒播放语音关闭教程...