Java|盘点Visual Studio 2022 17.4 给C++开发者带来的新东西( 二 )


我们还将发布的 LLVM 版本更新到版本 15.0.1 。 有关可用内容 , 请参阅 LLVM 和 Clang 发行说明 。
生产力使用 “Create Declaration/Definition” 功能时 , 过去是新代码会在一个小窗口中打开 , 让你“窥视” 。 这现在是可配置的:可以选择扫视(默认)、打开文档或不导航 。 该设置位于“选项”>“文本编辑器”>“C/C++ > 高级>重构”下 。

我们修复了 IntelliSense 和 MSBuild 之间预编译标头的一致性差距 。 过去 , 当通过 /Yu 使用 PCH 并通过 /FI 强制包含时 , IntelliSense 始终会先处理它 , 然后再通过 /FI 包含任何其他标头 。 这与生成行为不匹配 , 因此通过此更改 , /FI 标头将按指定的顺序进行处理 。
IDE性能我们还在继续改进 IDE 的性能 。 在此版本中 , 我们改进了打开新解决方案时的索引性能 。 大型项目可以从 17.3 提高 20-35% 。
代码安全我们使用“关键事件”信息丰富了一些代码分析警告 , 这些信息描述了分析结果是如何得出的 。 我们改进并扩展了此功能 , 将此信息添加到更多分析中 , 并为你提供在 Visual Studio 中可视化它的新方法 。
例如 , 安装 SARIF 查看器扩展后 , 关键事件信息现在将用于直接注释源 。

C++标准化我们将继续跟踪C++标准化的最新发展 。 你可以在 吉特哈布 上的 Changelog 中看到最新和即将推出的 STL 功能 , 但以下是我最感兴趣的一些功能:
> P0881R7
> P1328R1 constexpr type_info::operator==()
> P2440R1 ranges::iota ranges::shift_left ranges::shift_right
> P2441R2 views::join_with
> P2302R4 ranges::contains ranges::contains_subrange
标准化工作也扩展到 IntelliSense , 它现在支持 C23 属性 , 我们将继续改进对 C++20 模块的支持 。
vcpkgvcpkg 现在已经 6 岁了 , 拥有超过 2000 个开源库!
我们将继续向vcpkg本身和Visual Studio添加新功能 , 以改善集成 。 例如 , vcpkg 工件是一项功能 , 允许你描述构建应用程序所需的工具和环境 。 现在 , 我们添加了对 Visual Studio 对 CMake 项目的 vcpkg 工件的支持 , 因此 , 如果你的项目包含 vcpkg 清单 , 则环境将在项目打开时自动激活 。 你可以在 Visual Studio 博客文章中了解有关此内容的详细信息 。

游戏开发我们正在努力将虚幻引擎集成到Visual Studio中 。 从17.4开始 , 你现在可以直接在IDE中查看哪些虚幻引擎蓝图引用、使用和继承C++类 。 要启用此功能 , 请确保在VS安装程序中启用了“IDE对虚幻引擎的支持”组件 , 并从虚幻商城下载Visual Studio集成工具 。


请留意 17.5 中的更多新功能 , 请告诉我们你对蓝图集成的看法!
总结这次的更新 , 为广大C++开发者带来了很多新的特性 , 有机会的话 , 可以尝尝鲜 。
先立一个Flag:明天有空一定尝尝鲜 。
最后Microsoft Visual C++团队的博客是我非常喜欢的博客之一 , 里面有很多关于Visual C++的知识和最新开发进展 。 大浪淘沙 , 如果你对Visual C++这门古老的技术还是那么感兴趣 , 则可以经常去他们那(或者我这)逛逛 。
本文来自:《What’s New for C++ Developers in Visual Studio 2022 17.4》