我们很高兴地宣布,VisualStudio17.5现已正式上市。这个版本充满了更新,可以消除日常工作流程中的摩擦,使您在编写代码时更容易保持在工作区内。一体式搜索和基于意图的建议等功能可以帮助您更快地进行操作,而改进的构建和调试速度可以确保您的IDE不会放慢您的速度。
对于。NET和云开发人员,我们专注于改善内部开发体验。新的.http/.rest文件使直接在Visual Studio中测试和迭代API更加容易,而改进的Dev Tunnels有助于简化Webhook的配置和管理。我们还使部署ASP变得比以前更容易。NET应用程序到容器。
游戏开发人员现在可以查看在Unreal Blueprint资产中修改的基类的属性,而无需离开IDE。Visual Studio通过新的远程文件资源管理器、集成终端窗口的Linux控制台输出、开发容器改进等改进了跨平台开发体验。
除了个人之外,Visual Studio还提供了新功能,以更好地支持开发团队的大规模开发,具有可导出的配置文件和持久的更新切换,有助于确保团队中的每个人都使用最新版本的工具工作。
本博客涵盖了VisualStudio17.5中的几个主要新功能,要查看其中一些实际应用,请观看Visual Studio 17.5发布视频。一如既往,这些功能直接来自您的反馈和建议。您的反馈对于帮助我们使Visual Studio成为最佳工具至关重要!
生产力
.NET和云开发
现代C++和游戏开发
企业管理
请继续阅读以了解有关这些新功能的更多信息。
IDE生产力和性能
VisualStudio新的“多功能搜索”、“基于意图的建议”和“调试可视化工具”旨在提高代码导航和理解能力。由于强调生产力,此版本不仅提供了新功能,还减少了构建和调试时间,使您的工作流更快、更高效。
一体式搜索
一体式搜索为用户提供了一种快速简便的方法,可以在代码中查找Visual Studio文件、类型和成员。我们在代码搜索中对结果的顺序和相关性进行了显著改进,同时在不影响速度的情况下消除了结果限制。
代码搜索现在有一个预览面板,它支持C#和C++的代码结果!当您执行搜索时,预览将自动显示,以便您可以查看所选结果的上下文。通过选择窗口右上角的面板图标,可以更改面板方向或将其打开/关闭。
通过转到启用“一体式搜索”工具>管理预览功能>“新的Visual Studio搜索体验(需要重新启动)”。
AI驱动、基于意图的建议
基于意图的建议是一项新功能,它根据您最近的更改在编辑器中提供内嵌建议。该功能使用机器学习算法来理解您试图对代码进行的重复编辑的结构,并在流中建议正确的更改,帮助您更快、更准确地进行编码。尝试一下,在今天的开发工作流中体验基于意图的建议的威力!
调试器文本可视化工具
我们用额外的工具和字符串操作选项改进了文本可视化工具。现在,您可以更轻松地执行URL编码和解码以及Base64编码和解码JWT,而完整的主题化意味着文本可视化工具窗口将适合IDE其余部分的外观。
更快。NET构建和调试器功能
我们只构建有修改的项目,而跳过未更改的项目,从而大大提高了增量构建性能。与构建加速您可以减少SDK样式的增量构建时间。NET项目最多减少80%。
我们还通过改进线程窗口的响应时间,显著提高了调试器的性能。此窗口对于调试当今的多线程应用程序至关重要。在本版本中,线程窗口会随着线程数量的增加而自动扩展,与Visual Studio 17.4相比,响应时间提高了两倍。我们还将外部源代码反编译速度提高了10倍。NET模块故障排除效率更高。
改进的剃刀和C#体验
为了解决有关Razor和C#的生产力和性能的反馈,我们专注于改进Razor与C#的体验,支持Razor文件中的代码操作,包括一些有用的快捷方式,如“删除标签”、“在Base64中编码图像”和“插入图像高度/宽度”
我们收到的很多关于Razor和C#编辑的反馈都集中在Roslyn体验上。我们优先考虑改善项目配置切换中的性能,加快代码分析识别,并改进键入体验以减少UI延迟。
现代。NET和云开发
API开发内部
后端API和微服务在支持现代web应用程序方面发挥着关键作用,但对许多人来说,API开发仍然是一个难点。使用API进行高效开发需要灵活性和快速迭代的能力。我们的使命是使API在整个内部生命周期(从编码和构建到调试和测试应用程序)中更容易使用。
我们朝着更好、更快的API开发迈出的第一步是在ASP中添加.http/.rest文件。NET核心项目,以及集成的HTTP客户端。这些文件充当API端点的简洁定义,使您能够“运行”API并操作各种REST调用,以便在参数内迭代并以结构化方式查看输出—所有这些都来自Visual Studio。
这些.http/.rest文件并不意味着取代集成和单元测试。相反,它们提供了一种快速迭代API开发的新方法,以及一个监控应用程序可能使用的API和调查开发期间所需输入/输出的通用位置。
这只是我们为改善Visual Studio中使用微服务的开发人员的生活质量而迈出的第一步,这篇文章针对即将发布的预览中的未来功能进行了调整!
改进了Dev Tunnels的配置和管理
当然,API只是现代应用程序相互交互的一种方式,对于实现信息在不同应用程序之间的自动来回传递,电子书也至关重要。Dev Tunnels在内部流程中配置webhook时起着至关重要的作用,因为它们为公共服务提供了一种指向本地托管在您机器上的代码的方法。我们使设置更容易Visual Studio开发隧道通过为您提供对其配置和创建的更多控制。
此版本使您可以更轻松地管理和切换开发隧道,并指定要在任何给定的调试会话中使用的隧道。这两个功能都为中的API开发人员提供了强大的内部生产力提升。NET,我们期待您的反馈。
容器和Azure
对于。NET开发人员开发web应用程序和API时,快速、简单的容器管理对于提高生产力和效率至关重要。Visual Studio已经为部署到以下服务提供了出色的支持Azure应用程序服务和Azure函数,但我们希望将这种简单性扩展到基于容器的服务,如Azure容器应用。
此版本通过允许您部署ASP向前迈出了重要一步。NET核心应用程序到Azure容器应用程序只需几个步骤。您现在可以通过“发布”窗口直接以Azure容器应用程序为目标,使用预先配置的资源或让VS帮助您创建一个资源,而不是依赖其他文件来定义容器内容和构建步骤:
创建资源后,您可以利用新资源。NET7 SDK的功能,可以直接使用SDK构建容器映像,而无需其他知识或文件。这是一种使用现有的、熟悉的工具和工作流将代码放到云上的快速、简单的方法。
当然,使用我们的Azure发布功能,如果你的应用程序位于GitHub存储库中,你还可以通过选择按需部署来选择如何部署,或者让VS创建一个启动GitHubActions工作流。
辅助功能检查器
VisualStudio现在有一个集成的辅助功能检查器,可以检测基于XAML的桌面应用程序的许多常见辅助功能问题。辅助功能检查器使用的axe-windows引擎与辅助功能洞察力,这是VisualStudio团队用于我们自己的可访问性测试的同一个可访问性工具。辅助功能检查器支持WPF、UWP、WinUI和MAUI(通过WinUI)。要访问辅助功能检查器,请确保在选项页中启用了XAML热重新加载,然后按XAML Live Visual Tree工具栏中的“扫描辅助功能问题”按钮。
单击“辅助功能问题”按钮时,axe-windows引擎将扫描正在运行的应用程序以查找辅助功能问题,并将其显示在“辅助功能检查器”窗口中。该窗口将列出自动化ID、规则、描述,以及如何修复axe-windows引擎检测到的每个项目的问题的简要说明。
现代C++与游戏开发
我们为C++开发人员提供了几项新的生产力增强功能,无论您是在玩游戏、跨平台还是嵌入式应用程序,其中包括Visual Studio中的UE资产检查器、CMake项目的热重新加载支持、宏扩展的IntelliSense改进,等等。有关更深入的概述,请查看面向C++开发人员的Visual Studio 2022 17.5版博客帖子。
虚幻的引擎蓝图参考和资产检查器
对于Unreal Engine游戏开发人员,现在可以直接在VisualStudio中查看蓝图引用和相关资产。要查看Blueprint引用,请单击现在出现在C++函数、类和属性顶部的CodeLens提示。从那里,您可以单击Blueprint CodeLens提示并选择引用以打开Asset Inspector。阅读我们的了解更多信息虚幻引擎公告博客。
宏观扩展改进
我们还对IntelliSense宏扩展进行了一些改进,旨在在Quick Info中提供更有效、更具吸引力和更易于阅读的宏扩展。我们不仅在更多上下文中添加了递归扩展,现在还可以将扩展复制到剪贴板,或通过IntelliSense弹出窗口中的选项内联扩展宏。此外,快速信息中的宏扩展现在将具有格式化显示和等宽字体。
C11原子
用户将很高兴地了解到,我们已经扩展了标准库功能,在MSVC中包含了C11原子。初始支持仅适用于无锁原子,可以在/std:c11模式或更高版本的/experimental:c11atomics标志下找到。
原生Arm64 Clang工具集
虽然Visual Studio 17.4引入了对Arm64的支持,但我们在LLVM工作负载中使用本机Arm64 Clang工具集扩展了Arm64功能,从而支持在Arm64机器上进行本机编译。
C++跨平台和嵌入式开发
对于跨平台和嵌入式开发人员,我们添加了几个新功能,帮助简化Windows以外的工作流。
Linux改进
我们已将Linux控制台移到集成终端中,以使其更容易与远程Linux机器交互。集成控制台窗口允许您提供输入以及查看控制台输出。
当您使用Dev Container进行应用程序开发时,现在可以在远程机器上运行它们。我们还添加了在集成终端的运行容器中打开交互式shell的功能。
新的CMake功能
在这个版本的Visual Studio中,我们还添加了几个新的CMake功能,以加快编译工作流的速度。现在,您可以从解决方案资源管理器中的CMake targets视图中一次生成和测试多个CMake目标。我们还为CMake项目启用了热重新加载,并添加了对最新CMakePresets.json文件的支持,使您可以在开发和CI环境中轻松共享设置,同时确保一致性。
并发串口监控
拥有多个串行设备或带有SWO跟踪的TCP连接的嵌入式开发人员会很高兴地发现,他们现在可以一次打开多个串行端口监视器。
企业管理
跨大型企业部署任何应用程序都会带来独特的挑战。Visual Studio改进了为部署Visual Studio创建和管理脱机布局的体验。我们还让开发人员更容易决定和控制何时在本地计算机上应用更新。
使用.config文件自定义布局
现在可以使用导出的配置文件配置脱机布局的内容。这种能力是我们的投票最多的开发者社区建议,它需要Visual Studio 17.5附带的最新Visual Studio安装程序。要使用此功能,首先导出Visual Studio配置文件要在布局中复制的,并运行以下命令:
vs_enterprise.exe--布局c:\layout--配置c:\my.vsconfig--使用最新安装程序
假设您传入了所需的--使用最新安装程序
参数。也可以添加组件到现有布局。如果您已经创建了一个包含一个工作负载的布局,那么可以使用上述完全相同的语法将其他组件和工作负载的配置添加到该布局中。
Winget集成
Visual Studio 2022和2019现已在Winget上得到支持和提供Windows软件包管理器工具。今后,所有Visual Studio更新都将作为我们发布过程的一部分自动在Winget上提供。
默认情况下,winget只安装核心Visual studio工作负载。然而,你可以利用winget的--覆盖
切换到我们的新--配置
开关和使用winget进行自定义安装例如:
winget安装--标识Microsoft。VisualStudio.2022.社区--覆盖“--passive--config c:\my.vsconfig”
请注意,在winget repo所有权转换期间,我们更新了现有的目录结构,以更好地反映我们如何发布和维护Visual Studio。这确实意味着,如果您有依赖于先前Winget目录结构或包标识的现有脚本或命令,则可能需要进行一次性修复以与我们的更改保持一致。
关闭时始终更新
现在可以将VisualStudio配置为在关闭时自动应用更新。此设置可以基于Visual Studio的每个实例进行配置。例如,您可以将“预览”设置为在关闭“预览”时检查更新,但您的常规生产Visual Studio实例可以根据需要继续更新。您可以在“工具”>“选项”>“产品更新”对话框中找到此选项。阅读更多有关如何充分利用Microsoft Learn上的Visual Studio更新。
辅助功能–在安装程序中添加声音!
我们正在不断改进Visual Studio自定义体验,以帮助您提高生产效率。你们中的许多人可能正在使用最近添加的Visual Studio编辑器中的音频提示现在我们已经为安装程序添加了音频提示!音频提示提醒用户安装程序上的操作已完成或播放声音时出错。这包括安装、更新、修改以及安装程序在尝试所请求的操作时执行的许多其他操作或任何错误对话框。此功能默认情况下处于启用状态,但您可以按照此处概述的说明将其关闭:禁用安装程序中的声音–Visual Studio反馈。
分享您的反馈并保持联系!
当您使用Visual Studio时,请告诉我们您喜欢什么、喜欢什么以及希望我们改进的地方。您可以通过以下方式与我们分享反馈开发人员社区:通过报告任何错误或问题报告问题并分享您的对新功能的建议或对现有设备的改进。
关注我们,与Visual Studio团队保持联系YouTube网站,推特,LinkedIn链接,抽搐和上的Microsoft学习。
一如既往,我们感谢您花时间报告问题,并希望您继续向我们提供反馈,说明我们正在做什么以及可以改进什么。
帖子Visual Studio 2022–17.5发布首次出现于Visual Studio博客。
]]>