2023年9月14日

Visual Studio 2022 17.8预览版2已上市!

阿德里安·墨菲
高级首席技术项目经理

我们希望每个人都喜欢我们第一次预览Visual Studio下一版本时提供的所有新功能和更新功能,现在我们又回来了!这个版本带来了更多的工具来帮助您提高生产力、调试代码,以及一些额外的C++和游戏开发增强功能。

浏览此全面的增强功能列表,让我们知道哪些是增强功能你最喜欢的:

面积 增强功能
生产力 使用降价编辑拉取请求描述(🙏社区建议–281票)

差异改进汇总(🙏社区建议–6票)

GitHub虚拟形象添加到Git存储库窗口

多报告激活设置

C++和游戏开发 C11螺纹支架

CMake目标查看改进

远程文件资源管理器改进

使成员函数常量

.NET/C语言# 在HTTP请求中安全使用机密
JavaScript和TypeScript开发 launch.json对打开文件夹的支持
F类# 新代码修复

改进的自动完成

减少了参数名提示中的噪音

未打开文件的诊断

调试和诊断 跨平台Enc/Hot Reload调试支持

通过附加到进程调试Linux应用程序服务

基准DotNet IDiagnosers

通过Meters API对新仪器的.NET计数器支持

使用VS探查器进行测试分析

企业管理 简化了IT管理员的客户端初始化步骤

您可以通过查看Visual Studio 2022 17.8预览版2发行说明,我们总是希望通过反馈了解您的想法开发人员社区:通过报告任何错误或问题报告问题分享您的建议新功能或现有功能的改进。

生产力

 

使用降价编辑拉取请求描述

通过单击“预览”按钮,将标记编辑器与拉入请求描述一起用于呈现标题、项目符号列表和其他标记语法。通过预览功能>Git Pull Request–Markdown启用此功能。

自动生成的计算机屏幕的屏幕截图描述

我们还添加了更好的错误处理,并改进了审阅者搜索。让我们知道您对Pull Request体验的看法在这里.

差异改进汇总

在Preview 1的基础上,我们改进了Summary Diff UI,并支持在摘要视图中展开和折叠特定区域。这允许您在必要时在隐藏线上获得更多的上下文。单击总结当您比较文件或检查以前版本的代码时,请单击右上角的按钮。

自动生成的计算机程序Description的屏幕截图

分享您对此更新的反馈在这里。

GitHub虚拟形象添加到Git存储库窗口

在Git Repository窗口的多分支图中查看您的GitHub化身。

自动生成的计算机描述屏幕截图

多报告激活设置

在某些工作流中,控制是否自动激活多回购非常重要。使用新的设置,您可以将注意力集中在单个存储库上,而不必看到多存储库UI。

自动生成的计算机描述屏幕截图

C++和游戏开发

 

C11螺纹支架

我们现在已经实现了对可选C11线程库的支持。

与C11原子不同,C11线程和C++线程之间不兼容,但C++程序可以像任何C程序一样包含C11线程头并调用函数。实现是不同的。

C11包含对线程和各种支持并发原语的支持,包括互斥锁、条件变量和线程静态存储。所有这些都已实施

CMake目标视图更新

现在,您可以通过右键单击解决方案资源管理器中的任意位置并选择切换到CMake Targets View,轻松导航到CMakeTargets视图

自动生成的计算机描述屏幕截图

现在,您还可以通过从View下拉列表中选择CMake Targets View来访问它。

自动生成的计算机描述屏幕截图

此外,CMake Targets视图已经过简化,因此用户无需在没有可构建的可执行文件的情况下单击文件夹即可到达所需的目标。

远程文件资源管理器更新

现在,在远程文件资源管理器中,您可以通过双击远程文件来查看和编辑这些文件,并像通常通过解决方案资源管理器一样进行编辑和保存。

自动生成的计算机描述屏幕截图

使成员函数常量

现在可以轻松地将全局函数转换为静态函数。如果您有一个不在匿名名称空间中的自由函数,并且在头文件中缺少前向声明,您将收到建议(用函数名下面的三个点表示),将其标记为静态。将鼠标悬停在建议上并单击螺丝刀图标将提供一个选项,以使函数静态,如下所示。

自动生成带有白色文本描述的黑屏

您可以通过导航到来调整此功能的设置工具>选项>文本编辑器>信用证++>智能感知.

自动生成的计算机描述屏幕截图

.NET/C语言#

 

在HTTP请求中安全使用机密

在许多情况下,当开发Web API时,您可能需要使用一个秘密值。我们增加了对安全使用机密的支持HTTP文件在Visual Studio中。该支持包括在三个不同的秘密提供者中存储秘密。有关更多信息,请参阅在Visual Studio 2022–Visual Studio博客中的HTTP请求中安全使用机密。

JavaScript和TypeScript开发

 

launch.json对打开文件夹的支持

当您选择使用.vscode目录中的launch.json打开工作区中的文件夹以存储启动和调试设置时,Visual Studio将识别该文件夹,并将其包含在绿色按钮旁边的调试目标下拉菜单中。

自动生成的计算机描述屏幕截图

F类#

 

新代码修复

我们引入了一个代码修复程序,将记录字段定义中的等于(`=`)更改为冒号(`:`)。这个错误在F#的新手中尤其常见。

自动生成的计算机描述的屏幕截图

改进的自动完成

F#自动完成现在在各种场景中都得到了增强。

匿名记录字段:

自动生成的计算机描述屏幕截图

联合用例字段:

联合案例字段

区分的并集大小写字段:

自动生成的计算机描述屏幕截图

枚举事例值表达式:

自动生成的计算机描述屏幕截图

减少了参数名提示中的噪音

现在,与区分联合字段匹配的参数名称的提示被隐藏。这有助于提示的目标是只显示在其他情况下不明显的信息。

以中等可信度自动生成的带有文本Description的计算机代码

未打开文件的诊断

我们实现了一个选项来激活对未打开文件的诊断。出于性能考虑,默认情况下此选项处于禁用状态(阅读详细信息在这里). 您可以在中启用此功能工具>选项>文本编辑器>F类#>高级>背景分析:

自动生成的计算机描述屏幕截图

调试和诊断

 

跨平台Enc/Hot Reload调试支持(Docker、WSL)

在诊断和调试Linux容器或Windows Subsystem for Linux(WSL)中托管的应用程序时,添加了对F5(带调试器)和Ctrl-F5(无调试器的)场景的“编辑并继续”支持。请注意F5调试场景依赖于。NET 8 RC1及以上。

通过附加到进程调试Linux应用程序服务

我们很高兴推出一个强大的新功能,可以对进行调试。Linux应用程序服务中的NET进程–通过“附加到进程”。

此功能使开发人员能够轻松调试和诊断正在运行的Linux Azure App Services实例中的问题。

要附加到进程,请执行以下操作:

1.选择调试>附加到进程(或按Ctrl+Alt+P)以打开附加到进程对话框。

2.检查连接类型。应该是“Microsoft Azure应用程序服务”

3.将Connection目标设置为Linux机器名。

4.选择正确的可用流程并单击“附加”

自动生成的计算机描述屏幕截图

基准DotNet IDiagnosers

Visual Studio Profiler最近进行了增强,以提供对Benchmark DotNet IDiagnosers的支持。这些IDiagnoser在汇集Benchmark DotNet场景中产生的诊断会话中发挥着关键作用。

Benchmark选项卡提供了已执行基准的可视化。它还提供了通过双击特定行从泳道中精确选择基准的功能。

自动生成的计算机描述屏幕截图

或者,您可以选择通过右键单击上下文菜单导航到源文件。统计数据直接来源于BenchmarkDotNet,并以结构化网格格式呈现。

自动生成的视频编辑程序Description的屏幕截图

通过Meters API为新仪器提供.Net计数器支持

的最新版本。NET计数器工具引入了集成的扩展功能。NET Meters API,包括新的仪器选项,包括“计数器”和“ObservableCounter”

“计数器”跟踪值随时间的变化,调用方使用“Counter<T>.Add”报告更新。相反,“ObservableCounter”类似于计数器,但调用方负责跟踪总值。目前。NET计数器工具报告总计的更改率。

您可以在的列表中找到这些指标。NET计数器指标名册,提供了对系统性能和资源利用率的增强可见性。此外,我们正积极计划在未来引入其他仪器选项,以进一步增强此功能。

自动生成的计算机描述的屏幕截图

使用VS探查器进行测试分析

我们很高兴能够推出更新的测试分析功能。当您在测试资源管理器中右键单击测试并选择“配置文件”时,您现在可以在一组可用工具之间进行选择,包括:

  • CPU使用率
  • GPU使用
  • 文件IO
  • .NET异步
  • 事件查看器

选择要使用的工具,然后单击“开始”,系统将提供一份报告。

自动生成的计算机描述屏幕截图

企业管理

在上一个次要版本中,我们引入了一个允许管理员将安装程序功能(如更新或修改)的控制权委托给具有受限权限的“标准”用户这是我们的请求最多的功能,因为它允许组织遵循安全最佳实践,同时允许开发人员控制其开发环境。在这个小版本中,我们简化了管理员初始化客户机所需执行的步骤。

Visual Studio安装程序的初始安装始终需要管理员权限。标准用户将无法执行此初始初始化步骤,管理员也无法有效执行委派标准用户控件直到安装程序出现在客户端计算机上。以前,管理员必须安装整个的Visual Studio产品以获取安装程序。在本版本中,我们通过执行以下命令,使管理员可以轻松地以编程方式将*仅安装程序*部署到客户端机器:

vs_enterprise.exe安装–仅安装程序

我们在此版本中启用的另一个功能是管理员可以使用客户端注册表自定义安装程序的Available选项卡自定义布局可用于安装。

上述功能的集合有助于职责的清晰分离。IT管理员可以通过以下方式快速、轻松地在其组织内准备和配置客户端计算机:

  • 仅安装安装程序
  • 配置AllowStandardUserControl策略以将安装程序功能的控制委托给标准用户。
  • 可选择自定义安装程序的“可用”选项卡,以使专用布局可用于安装。

管理员准备好客户端计算机后,最终用户就可以负责安装(从Available选项卡)、修改和更新Visual Studio。

分享您的反馈并与Visual Studio保持联系!

我们感谢您花时间报告问题/建议,并希望您在使用Visual Studio时继续向我们提供反馈,说明您喜欢什么以及我们可以改进什么。您的反馈对于帮助我们使Visual Studio成为最佳工具至关重要!您可以通过以下方式与我们分享反馈开发人员社区:通过报告任何错误或问题报告问题分享您的建议新功能或现有功能的改进。

通过关注我们,与Visual Studio团队保持联系YouTube网站,推特,LinkedIn链接,抽搐和上的Microsoft学习.

代表整个Visual Studio团队,感谢您的阅读和快乐编码!

作者

阿德里安·墨菲
高级首席技术项目经理

12评论

讨论结束。登录以编辑/删除现有评论。

最新
最新
受欢迎的
最老的
  • 安德森·维埃拉·纳西门托

    有什么方法可以使用新的UI吗?

    • 但丁·加涅Microsoft员工

      此时,刷新的UI仅在内部可用。我们正在努力使其作为预览功能更广泛地可用,但我们想确保在开始更广泛的推出之前,我们已经得到了反馈。我们将在新UI上线的博客文章中宣布新UI何时可用,因此请继续关注这里以获取更多信息。

  • 迪克贝克

    我们现在有80%达到202所以这个名字仍然是荒谬的”VS2022预览“.FFS退出22然后再滴一滴”VS2023预览

    • 迈克尔·泰勒

      产品名称为“VS 2022”。当2022年即将到来时,它被发布了。“VS2022”是VS的当前版本,直到下一次迭代出现(通常每3年一次)。在此之前,“VS2022预览版”是对那些感兴趣的人来说的“VS2021”下一次更新的预览版。

      “VS 2023预览版”表示下一版本(“VS 2020”)的预览版,但目前还没有这样的产品。。。

      阅读更多信息
  • 戴维德·巴洛伊 ·已编辑

    更新Unity名称空间后,回滚修复了该问题。

    • 迈克尔·富尔顿Microsoft员工 ·已编辑

      也有名称空间错误,但没有使用Unity。

      Visual Studio 2022(非预览版)可以工作。

      回滚到Visual Studio 2022 17.8预览版1仍然有效。

  • 保罗·平托

    在F#示例中,联合用例字段匿名记录字段是完全相同的屏幕截图。

  • 阿凡达·杰克

    嗨,有剃须刀编辑器的更新吗?

    • 杰里米·雷格内罗斯

      这些都进来了。NET 8,而不是Visual Studio版本本身。但是,要使用。NET8候选版本1,则必须具有此版本或更高版本的Visual Studio。

  • 安德烈·齐格勒

    为什么我的VS2022 UI在Preview2中看起来如此糟糕?工具栏中有很多白色的内容,很难看到条目是什么。

    至少我能够恢复经典选项UI。新的很可怕

  • 家伙

    应该。NET 8 RC 1是否作为此更新的一部分被提及?

反馈