{"id":250237,"date":"2024-08-21T03:00:31","date_gmt":"2024-08-21T10:00:31","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=250237"},"modified":"2024-08-19T15:25:48","modified_gmt":"2024-08-19T22:25:48","slug":"new-c-features-in-visual-studio-v17-11","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/new-c-features-in-visual-studio-v17-11\/","title":{"rendered":"New C++ features in Visual Studio v17.11"},"content":{"rendered":"<p>Visual Studio 2022 version 17.11 is here and comes with a host of new features for C++ developers. We\u2019ve made improvements across our toolchain, Unreal Engine support, Build Insights, CMake debugger, and more. This post gives a quick overview of what\u2019s available; for all the details, see <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/whats-new-for-cpp-developers-in-visual-studio-2022-17-11\/\">What&#8217;s New for C++ Developers in Visual Studio 2022 17.11<\/a> on the C++ blog.<\/p>\n<h2>Standard Library<\/h2>\n<p>The three main areas of improvement in this release are in formatted output, vectorization, and diagnostics. For formatted output, we\u2019ve implemented parts of <a href=\"https:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2022\/p2286r8.html\">Formatting Ranges<\/a> and all of <a href=\"https:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2024\/p3142r0.pdf\">Printing Blank Lines with println<\/a>. Our vectorization improvements hit over a dozen of the standard algorithms, and we\u2019ve improved the diagnostics of common misuses of std::ranges::to and std::get(std::tuple). See the <a href=\"https:\/\/github.com\/microsoft\/STL\/wiki\/Changelog\">STL changelog<\/a> for all the details.<\/p>\n<h2>CMake Debugger<\/h2>\n<p>We have added support for the CMake debugger in CMake projects targeting Linux via WSL or SSH. The CMake debugger allows you to debug your CMake scripts and\u00a0<em>CMakeLists.txt<\/em>\u00a0files through the Visual Studio debugger.<\/p>\n<p>To start a CMake debugging session, set a breakpoint in your\u00a0<em>CMakeLists.txt<\/em>\u00a0file and then navigate to\u00a0<strong>Project &gt; Configure Cache with CMake Debugging<\/strong>.<\/p>\n<p><img decoding=\"async\" width=\"610\" height=\"343\" class=\"wp-image-250239\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/08\/cmake-debugger-linux.png\" alt=\"CMake debugger Linux\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/08\/cmake-debugger-linux.png 610w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/08\/cmake-debugger-linux-300x169.png 300w\" sizes=\"(max-width: 610px) 100vw, 610px\" \/><\/p>\n<h2>Unreal Engine Support<\/h2>\n<p>We\u2019ve added several new features for Unreal Engine developers:<\/p>\n<ul>\n<li>An Unreal Engine toolbar that provides quick access to Unreal Engine actions such as attaching to UE processes and accessing the UE log<\/li>\n<li>An Add Class dialog for adding common UE class templates to your project<\/li>\n<li>An Add Module dialog for adding UE modules to your project<\/li>\n<\/ul>\n<p><img decoding=\"async\" width=\"1024\" height=\"576\" class=\"wp-image-250240\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/08\/unreal-engine-add-class.png\" alt=\"Unreal Engine Add Class\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/08\/unreal-engine-add-class.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/08\/unreal-engine-add-class-300x169.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/08\/unreal-engine-add-class-768x432.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h2>Build Insights<\/h2>\n<p>In this update, we added quality of life changes to C++ Build Insights integration. You can now filter your Build Insights trace results by project. For results in each row, you will now see the relative path and file name instead of the full path. We have also improved the grouping of results in the Included Files view.<\/p>\n<p><img decoding=\"async\" width=\"1024\" height=\"576\" class=\"wp-image-250241\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/08\/build-insights-qol-update.png\" alt=\"Build Insights QoL Update\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/08\/build-insights-qol-update.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/08\/build-insights-qol-update-300x169.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2024\/08\/build-insights-qol-update-768x432.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h2>Breakpoint Performance<\/h2>\n<p>We have significantly enhanced the performance of conditional breakpoints in C++ through a reworked implementation.<\/p>\n<p>Beginning with version 17.11, our initial assessment finds that execution time is almost four times as fast, reducing execution time from 80 seconds to 21 seconds over 80,000 iterations.<\/p>\n<h2>Summary<\/h2>\n<p>We hope this has given you a taste of what\u2019s new. For all the details, see <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/whats-new-for-cpp-developers-in-visual-studio-2022-17-11\/\">What&#8217;s New for C++ Developers in Visual Studio 2022 17.11<\/a> on the C++ blog.<\/p>\n<p>We are very much interested in your feedback. The comments below are open. Feedback can also be shared through <a href=\"https:\/\/developercommunity.visualstudio.com\/cpp\">Visual Studio Developer Community<\/a>. You can also reach us on Twitter (<a href=\"https:\/\/twitter.com\/visualc\">@VisualC<\/a>), or via email at <a href=\"mailto:visualcpp@microsoft.com\">visualcpp@microsoft.com<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visual Studio 2022 version 17.11 is here and comes with a host of new features for C++ developers. We\u2019ve made improvements across our toolchain, Unreal Engine support, Build Insights, CMake debugger, and more. This post gives a quick overview of what\u2019s available; for all the details, see What&#8217;s New for C++ Developers in Visual Studio [&hellip;]<\/p>\n","protected":false},"author":706,"featured_media":250239,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1195,472,155],"tags":[510,6815],"class_list":["post-250237","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cross-platform","category-gaming","category-visual-studio","tag-cpp","tag-visual-studio-2022"],"acf":[],"blog_post_summary":"<p>Visual Studio 2022 version 17.11 is here and comes with a host of new features for C++ developers. We\u2019ve made improvements across our toolchain, Unreal Engine support, Build Insights, CMake debugger, and more. This post gives a quick overview of what\u2019s available; for all the details, see What&#8217;s New for C++ Developers in Visual Studio [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/250237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/706"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=250237"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/250237\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/250239"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=250237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=250237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=250237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}