{"id":239021,"date":"2022-08-16T09:00:15","date_gmt":"2022-08-16T16:00:15","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=239021"},"modified":"2022-08-11T18:14:39","modified_gmt":"2022-08-12T01:14:39","slug":"visual-studio-2022-17-4-preview-1","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-2022-17-4-preview-1\/","title":{"rendered":"What&#8217;s New in Visual Studio 2022 17.4 Preview 1"},"content":{"rendered":"<p>We released Visual Studio 2022 17.4 Preview 1 last week alongside the <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-2022-17-3-is-now-available\/\">17.3 generally available release<\/a>. In this post we&#8217;ll share details about some of the new capabilities in this preview and the focus of this release. Feedback from developers like you during our preview cycle is so important for us to deliver a final product that meets your high expectations. We welcome your feedback in the threads to this post or through <a href=\"https:\/\/developercommunity.visualstudio.com\/home\">Developer Community<\/a>. Please continue to share your\u00a0<a href=\"https:\/\/developercommunity.visualstudio.com\/report?space=8&amp;entry=suggestion\">suggestions for new features<\/a>\u00a0or improvements to existing ones and any bugs or issues via\u00a0<a href=\"https:\/\/docs.microsoft.com\/visualstudio\/ide\/how-to-report-a-problem-with-visual-studio\">report a problem<\/a>.<\/p>\n<p><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/visualstudio.microsoft.com\/vs\/preview\/\" target=\"_blank\">Download Visual Studio 2022 17.4 Preview 1<\/a><\/div><\/p>\n<p>17.4 Preview 1 also adds new features as based on your suggestions in Developer Community. Here\u2019s a list of the items that we are shipping as part of this preview.<\/p>\n<ul>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/option-to-disable-peekpreview-window-for-create-de\/832075\">Option to disable peek\/preview window for Create Declaration \/ Definition<\/a><\/li>\n<\/ul>\n<h2>Enterprise Support<\/h2>\n<p>We continue to invest in Visual Studio to provide capabilities that enable your development needs, your team, and those of your organization. Version 17.4 will be the third <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/productinfo\/vs-servicing\">long term servicing channel (LTSC) for Visual Studio 2022<\/a>.\u00a0 Servicing channels provide large organizations with increased flexibility over when they choose to adopt new features released with minor version updates to Visual Studio editions. The <a href=\"https:\/\/docs.microsoft.com\/visualstudio\/productinfo\/vs-servicing#long-term-servicing-channel-ltsc-support\">17.2 LTSC release<\/a> will be supported until January 9, 2024.<\/p>\n<h2>Arm64<\/h2>\n<p>During the Microsoft Build 2022 conference the Windows team announced a <a href=\"https:\/\/blogs.windows.com\/windowsdeveloper\/2022\/05\/24\/create-next-generation-experiences-at-scale-with-windows\/\">new development kit with AI Capabilities, Project Volterra, and the development of comprehensive Arm-native developer toolchain<\/a>. We are excited to bring Visual Studio to our developer community using Windows 11 on Arm64 devices. Version 17.4 will be the first version of Visual Studio generally available as a native Arm64 application. Our first\u00a0 <a href=\"https:\/\/aka.ms\/vs\/arm64\/preview\">Arm64 preview of Visual Studio<\/a> launched with three Workloads available. Preview 1 adds the availability of the UWP workload.\u00a0 For C++ we now bundle Arm64 native versions of CMake and Ninja with Arm64 releases. We will continue adding more workloads in previews (based on your feedback) until we GA later this year. You can <a href=\"https:\/\/developercommunity.visualstudio.com\/search?space=8&amp;q=%5BARM64%5D&amp;stateGroup=active&amp;ftype=idea&amp;sort=relevance\">vote here<\/a> to help in prioritizing additional workloads, components, and experiences.<\/p>\n<h2>Configure Visual Studio using Visual Studio Administrative Templates (ADMX\/ADML files)<\/h2>\n<p>We heard from many of you in large organizations that use Visual Studio you often want to control certain aspects of VS behavior to achieve consistency, compliance, or compatibility across your organization. \u00a0One problem that currently exists is that there is no easy way for an admin to even discover what all global polices exist for Visual Studio. Because there\u2019s no centralized repository that captures the Visual Studio policy options, there\u2019s also no consistent method for all users to deploy the settings using standard management and deployment tools such as Group Policy Editor and <a href=\"https:\/\/www.microsoft.com\/en-us\/security\/business\/microsoft-endpoint-manager\">Microsoft Endpoint Manager<\/a>, which results in a lot of duplicated, inefficient, and sometimes incorrect effort.<\/p>\n<p>To address this, we are pleased to announce the availability of the new <a href=\"https:\/\/aka.ms\/vs\/admx\/details\">Visual Studio Administrative Templates (ADMX\/ADML) files<\/a> which are in Preview right now.\u00a0 The Visual Studio group policy settings contained in the ADMX file are machine wide for all users, which means that they intend to cover all applicable installed instances and SKUs of Visual Studio. IT Admins should be familiar with the ADMX approach as it\u2019s analogous to what <a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=49030\">Office<\/a> and <a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=103124\">Windows<\/a> does. \u00a0Please review the content of these and <a href=\"https:\/\/aka.ms\/vs\/admx\/feedback\">provide feedback on the Preview Visual Studio ADMX Templates here<\/a>.<\/p>\n<h2>Removing out-of-support components<\/h2>\n<p>Visual Studio is a rich IDE that provides an abundant collection of tools and functionality for you to use in every stage of software development. As we all know, technologies change over time, some faster than others; consequently <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/productinfo\/vs-servicing#components-not-covered-by-visual-studio-servicing\">certain components<\/a> that are initially included with Visual Studio may go out of support faster than the IDE itself.\u00a0 When a component transitions to \u201cout of support\u201d, it will not receive any future updates, which essentially means that it becomes insecure.<\/p>\n<p>We\u2019re happy to announce that now, using the latest Visual Studio 2022 installer, it will be possible to automatically remove all independent components from your installation that have transitioned to an \u201cout of support.\u201d state. You will be able to do this manually through the UI, programmatically, or by machine wide policy, and you\u2019ll be able to manage both your client machines and your layouts. This functionality can also be extended to your Visual Studio 2019 and 2017 installations. \u00a0By using this new feature when you perform updates, you will be better able to keep your machine secure.<\/p>\n<p><a href=\"https:\/\/aka.ms\/vs\/removeoos\/feedback\">Details about how to use this functionality are described here<\/a>.\u00a0 We encourage you to try it out and look forward to <a href=\"https:\/\/aka.ms\/vs\/removeoos\/feedback\">hearing your feedback on this Preview<\/a>!<\/p>\n<h2>Collaboration and Teams<\/h2>\n<p>Visual Studio enables collaboration for developers whether that is between individuals, part of contributing or using open source projects, and enabling your team to accomplish more.<\/p>\n<h2>Git Tooling<\/h2>\n<p>You can now untrack and ignore tracked Git files from both Solution Explorer and Git Changes tool windows.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/gituntrackitems.gif\"><img decoding=\"async\" class=\"alignnone wp-image-239023 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/gituntrackitems.gif\" alt=\"Ignore and un-track from the Git Changes and Solution Explorer\" width=\"1546\" height=\"1072\" \/><\/a><\/p>\n<p>We have enhanced the user experience of trusting single and multiple Git repositories by improving repository status and utilizing a new trust dialog. This enhancement addresses a\u00a0<a href=\"https:\/\/aka.ms\/UntrustedGitRepositories\">recent Git security update<\/a>\u00a0that requires users to trust repositories owned by different users.<\/p>\n<p>We have also made performance enhancements when switching git branches. For more information read our\u00a0<a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/vs2022-performance-enhancements-git-branch-switching\/\">Git Branch Switching Blog<\/a>.<\/p>\n<h2>Code Search<\/h2>\n<p>This release introduces performance, reliability, and UI enhancements to the All-In-One Search experience (Ctrl + Q). Now you can preview code and images before opening a result by selecting the window icons at the top right of the window. As we continue to work on performance and reliability, results that can be previewed will be temporarily limited to only files (not types, members).<\/p>\n<p>You can enable All-In-One Search: Tools &gt; Manage Preview Features &gt; &#8220;New Visual Studio Search experience (restart required)&#8221;.<\/p>\n<h2>Selection Match Highlighting<\/h2>\n<p>The selection match highlighting is a new feature to help you quickly find additional occurrences of a string in the document you\u2019re editing. In Tools\\Options, check Text Editor &gt; General for the new \u201cShow selection matches\u201d option. When it\u2019s checked, any time you select something in your editor, anywhere else that exact string occurs will be subtly highlighted both in the editor and in the scrollbar. Currently, it only works for strings less than 200 characters in length and all on a single line, but our goal is to make it easier to notice when and where a string is in use.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/selmatch.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-239024\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/selmatch.png\" alt=\"A capture from Visual Studio showing the Selection Match Highlighting. The string &quot;Catalog&quot; is selected on line 47, and all instances of the string &quot;Catalog&quot; are highlighted in blue. The scrollbar on the right also shows grey ticks indicating where other matches can be found throughout the document.\" width=\"936\" height=\"480\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/selmatch.png 936w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/selmatch-300x154.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/selmatch-768x394.png 768w\" sizes=\"(max-width: 936px) 100vw, 936px\" \/><\/a><\/p>\n<p>We intentionally chose subtle colors since we found brighter colors to be distracting, but if you want to change the colors, you can find \u201cSelection Match Editor Highlight\u201d and \u201cSelection Match on Scrollbar\u201d in the Fonts and Colors page of Tools\\Options. Both of these are \u201cText Editor\u201d settings.<\/p>\n<h2>Productivity<\/h2>\n<p>Visual Studio has always been about developer productivity. We are constantly adding new language features to help you do more in your core edit-debug loop.<\/p>\n<h2>.NET<\/h2>\n<p>You can now easily view a file\u2019s structure at a glance in the Document Outline window. The Document Outline window displays the symbol tree of the file in the editor helping you quickly navigate and edit project files. You can open Document Outline by going to View &gt; Other Windows &gt; Document Outline or by using the shortcut Ctrl+Alt+T.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/docoutline.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-239025\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/docoutline.png\" alt=\"Document Outline window screenshot\" width=\"494\" height=\"294\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/docoutline.png 494w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/docoutline-300x179.png 300w\" sizes=\"(max-width: 494px) 100vw, 494px\" \/><\/a><\/p>\n<h2>C++<\/h2>\n<p>Based on <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/option-to-disable-peekpreview-window-for-create-de\/832075\">your feedback<\/a> there is a new option &#8220;Navigation after Create Declaration\/Definition&#8221; to allow you to choose the navigation behavior of the Create Declaration\/Definition feature. You can select between peeking (the default) or opening the document, or no navigation.<\/p>\n<p>In addition to ARM64 VS bundling ARM64 versions of CMake and Ninja we have added support for CMake Presets in version 4. See the\u00a0<a href=\"https:\/\/cmake.org\/cmake\/help\/v3.23\/release\/3.23.html#id6\">CMake release notes<\/a>\u00a0for details of what is available.<\/p>\n<p>For cross platform C++ development connecting to remote systems with the\u00a0<a href=\"https:\/\/docs.microsoft.com\/cpp\/linux\/connect-to-your-remote-linux-computer?view=msvc-170\">Connection Manager<\/a>\u00a0\u00a0now supports SSH Proxy Jump. This is used to access a SSH host via another SSH host (for example, to access a host behind a firewall).<\/p>\n<p>We continue to track the latest developments in C++ standardization. In 17.4 Preview 1 we have added support for the following C++ 23 features. You can enable these by including \/std:c++latest in your <a href=\"https:\/\/docs.microsoft.com\/cpp\/build\/reference\/compiler-options?view=msvc-170\">compiler options<\/a>.<\/p>\n<ul>\n<li><a href=\"https:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2021\/p0849r8.html\">P0849R8<\/a> auto(x):\u00a0<em>decay-copy<\/em>\u00a0In The Language\n<ul>\n<li>The compiler part is not yet implemented; the library part was implemented in C++20 mode when Ranges were initially implemented.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2020\/p0881r7.html\">P0881R7<\/a> &lt;stacktrace&gt;<\/li>\n<li><a href=\"https:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2021\/p2301r1.html\">P2301R1 <\/a>Add A\u00a0pmr\u00a0Alias For\u00a0std::stacktrace<\/li>\n<li><a href=\"https:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2021\/p1328r1.html\">P1328R1 <\/a>constexpr\u00a0type_info::operator==()<\/li>\n<li><a href=\"https:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2021\/p2440r1.html\">P2440R1<\/a> ranges::iota,\u00a0ranges::shift_left,\u00a0ranges::shift_right<\/li>\n<li><a href=\"https:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2022\/p2441r2.html\">P2441R2<\/a> views::join_with<\/li>\n<\/ul>\n<h2>F#<\/h2>\n<p>Tooltips for local functions now show argument names.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/fsharptooltips.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-239026\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/fsharptooltips.png\" alt=\"F# tooltips for local function arguments screenshot\" width=\"496\" height=\"122\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/fsharptooltips.png 496w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2022\/08\/fsharptooltips-300x74.png 300w\" sizes=\"(max-width: 496px) 100vw, 496px\" \/><\/a><\/p>\n<h2>Share your feedback and help us build a better Visual Studio!<\/h2>\n<p>As you use Visual Studio, let us know what you love, what you like, and where you\u2019d like us to improve. You can share feedback with us via\u00a0<a href=\"https:\/\/developercommunity.visualstudio.com\/home\">Developer Community:<\/a>\u00a0report any bugs or issues via\u00a0<a href=\"https:\/\/docs.microsoft.com\/visualstudio\/ide\/how-to-report-a-problem-with-visual-studio\">report a problem<\/a>\u00a0and share your\u00a0<a href=\"https:\/\/developercommunity.visualstudio.com\/report?space=8&amp;entry=suggestion\">suggestions for new features<\/a>\u00a0or improvements to existing ones.<\/p>\n<p>As always, we appreciate the time you\u2019ve spent reporting issues and hope you continue to give us feedback on how we\u2019re doing and what we can improve.<\/p>\n<p><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/visualstudio.microsoft.com\/vs\/preview\/\" target=\"_blank\">Download Visual Studio 2022 17.4 Preview 1<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We released Visual Studio 2022 17.4 Preview 1 last week alongside the 17.3 generally available release. In this post we&#8217;ll share details about some of the new capabilities in this preview and the focus of this release. Feedback from developers like you during our preview cycle is so important for us to deliver a final [&hellip;]<\/p>\n","protected":false},"author":677,"featured_media":255385,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[],"class_list":["post-239021","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio"],"acf":[],"blog_post_summary":"<p>We released Visual Studio 2022 17.4 Preview 1 last week alongside the 17.3 generally available release. In this post we&#8217;ll share details about some of the new capabilities in this preview and the focus of this release. Feedback from developers like you during our preview cycle is so important for us to deliver a final [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/239021","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\/677"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=239021"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/239021\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/255385"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=239021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=239021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=239021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}