Visual Studio 2022 version 17.6 Preview Release Notes
Tip
Watch the recordings of the Visual Studio 2022 launch event to learn about what's new, hear tips & tricks, and download free digital swag.
Developer Community | Visual Studio 2022 Roadmap | System Requirements | Compatibility | Distributable Code | Release History | License Terms | Blogs | Latest Release Known Issues | Whats New in Visual Studio Docs
Click a button to download the latest version of Visual Studio 2022. For instructions on installing and updating Visual Studio 2022, see Update Visual Studio 2022 to the most recent release. Also, see instructions on how to install offline.
Visit the Visual Studio site to download other Visual Studio 2022 products.
Important
Preview Channel is not "go-live" and not intended for use on production computers or for creating production code. For more information, see Visual Studio Product Lifecycle and Servicing.
Visual Studio 2022 version 17.6 Preview Releases
- March 14th 2023 — Visual Studio 2022 version 17.6 Preview 2
- February 21st 2023 — Visual Studio 2022 version 17.6 Preview 1
Visual Studio 2022 Blog
The Visual Studio 2022 Blog is the official source of product insight from the Visual Studio Engineering Team. You can find in-depth information about the Visual Studio 2022 releases in the following posts:
We’ve addressed a number of your top-reported bugs in this release and added new features based on your suggestions in Developer Community. Thank you for your continued feedback. Here’s a list of your suggestion we are shipping as part of this preview.
Visual Studio 2022 version 17.6 Preview 2
released March 14th, 2023
Developer Community Highlights
Summary of What's New in this Release of Visual Studio 2022 version 17.6 Preview 2
- Removal of integrated Edge Developer Tools for ASP.NET web workload
C++
- In the latest version of the CMake Debugger, you can now view the state of current defined targets and tests with their properties. You can also now view directories in the Locals window.
- You can now use the Create Member Function feature to quickly add constructors and equality operators to your classes. When you have a class with fields, three dots will appear under the class name, and hovering over them will display a screwdriver icon. The drop-down from the screwdriver icon will display the new member function suggestions. With this, you can add a default constructor, constructor with all fields, equality operator, and equality operator with all fields.
- HLSL (High Level Shading Language) is a DirectX-specific programming language used to create shaders in game development and rendering applications. The popular HLSL Tools extension by Tim Jones is now available as part of Visual Studio providing syntax highlighting, statement completion, go-to-definition, and more! To use HLSL Tools, please enable the component in the "Game development with C++" or "Game development with Unity" workload in the Visual Studio Installer.
- Improved performance for Go To and All In One Search for C++ Symbols.
Microsoft Teams Development Tools (Teams Toolkit)
- Add the feature flag "Teams App Configuration Improvements". The preview feature of Teams Toolkit enables developers to bring their existing internal and SaaS applications into Teams with Teams-native integration. In the
teamsfxapp.yml
file defines what Teams Toolkit engine does. - Add the deep link to open Teams Toolkit directly from Teams developer portal. You can now open Teams projects in developer portal and edit in Teams Toolkit.
Debugging, Diagnostics and Profiling
Breakpoint Groups
- Visual Studio debugger now supports Breakpoint Groups,which can allow you to quickly and easily manage numerous breakpoints in organized groups.
- You can create a new breakpoint group using the "New" dropdown in breakpoints window. To add a breakpoint to an existing group, right-click the breakpoint and choose "Add to Breakpoint Group". You can also drag and drop the breakpoint into the desired group. These breakpoint groups can be enabled, disabled, and deleted. The breakpoints can be toggled individually or in combination as needed.
Memory Tool Insights Sparse Arrays
- Visual Studio Memory Analysis tool now has the ability to identify and display sparse arrays. You can see the list objects with sparse array under the Insights tab.
- A Sparse Array is an array that is mostly filled with zero elements, which can be inefficient in terms of performance and memory usage. The memory analysis tool will automatically detect these arrays and show you how much memory is being wasted due to these zero values.
- The debugger now supports the inclusion of .natstepfilter and .natjmc files within individual solutions, rather than the previous global location. This alteration allows for more efficient collaboration within teams, as these files can now be treated as any other file within a repository and shared accordingly.
Instrumentation tool
- The Visual Studio Instrumentation tool now supports C++ code, providing improved performance analysis. To access the instrumentation tool, go to Debug > Performance Profiler and select "Instrumentation" from the Profiler window that appears.
- The Instrumentation Data View presents a list of functions ordered by longest-running, making it easier to identify potential bottlenecks. Additionally, the Hot Path section displays the call stack for the functions that are consuming the most CPU, providing further insight into performance issues.
Profiler Live Graph for .NET on WSL
- The Visual Studio profiling tools now also support live graphs while collecting from dotnet-monitor for WSL. The WSL live metrics are available for .NET object allocation, CPU usage, and the .NET counter tool.
- While the tool is initially collecting data from dotnet-monitor for WSL you can see the real-time graphing for live counter information, then you can stop collecting and see detailed breakdown views of memory allocation, call trees, functions, collections, and other related data.
.NET Object Allocation tool
- The .NET Object Allocation tool now features the ability to import allocations from a .NET data provider using ETL file formats. For example, if you have an ETL file obtained from a .NET provider that contains allocation tick events, the tool can execute and display the allocations made within that data.
Git Tooling Enhancements
Stage and Commit During Build
You can now stage your changes and commit your staged items during a build. Committing directly is a risky operation since your files may change, but now you can stage them, verify your files are correct, and commit them - all while a build is running.
GitHub Issues and Azure DevOps Work Items - Improved Search
Improving on our Issues and Work Items integration in the commit message, you now get better search results when querying for items that you haven't updated recently or that aren't related to you but are part of your project or repo. The search works by matching complete strings in your items' names. This can help minimize copy-pasting item ids between the browser and Visual Studio.
Improved Merge Dialog
Updates to our Merge Dialog make it easier to understand how many files are being affected and warn you if there might be conflicts.
Git History Perf Improvements
Drastic improvements to our Git History window now load previous commits faster, allowing you to dig into your file and folder history quicker than before!
New Branch and Tag Naming Enhancements
Improvements to the New Branch and New Tag dialogs automatically replace spaces with dashes to avoid invalid characters in the name.
Enterprise Management
Host and Deploy Visual Studio layouts from your intranet
IT Administrators will now be able to host and deploy layouts on an intranet website in addition to a file share. Using an intranet location can simplify layout maintenance and improve installation performance, particularly for those organizations that currently use multiple global network file shares. The scenario is currently targeted for IT Administrators to remotely deploy from. Visit the feedback site to view guidance for how to enable this experience and let us know if there’s any functionality missing that you would need.
Limit exposure to available products in the Installer
We’ve updated the logic that controls what products are offered as available when you view the Visual Studio Installer’s “Available” tab. You should now have easy access to current Previews, as well as the ability to restrict exposure to certain products by disabling channels or using the new “HideAvailableTab” policy to disable the available tab altogether.
Visual Studio 2022 version 17.6 Preview 1
released February 21st, 2023 Developer Community Highlights
- Getting build error after selecting automatically deploy the database project before unit tests are run option 21 votes
- Build.Compile (Ctrl-F7) stopped working on some files after upgrading to 17.4 on CMake projects with Open Folder 7 votes
- Using msbuild.exe from the command line for Xamarin.iOS is unable to find AppIcons and hangs on completion 7 votes
- Large text string causes VS 2022 to hang 6 votes
- __sanitizer_annotate_contiguous_container declared inconsistenly in 17.3.0 3 votes
Summary of What's New in this Release of Visual Studio 2022 version 17.6 Preview 1
GitHub Issues
The GitHub Issues integration allows you to search and reference your issues from the commit message box in VS, in response to this suggestion ticket. You can reference an issue or a pull request by typing # or clicking on the # button in the lower right side of the commit message text box. If you weren't already authenticated to access related issues, you will now be prompted to sign in to take advantage of this feature.
Line Unstaging
To continue improving our line-staging (aka interactive staging) feature, we've added unstage. You can now use the tool tip option to unstage changes, line by line, as requested here Unstage individual lines and hunks in a file - 4 votes
Arm64
We continue to build native support for Arm64 on Windows 11 for the most popular developer scenarios. We now support the .NET Multi-platform App UI (MAUI) workload on Arm64 Visual Studio.
C++
- Available as a preview feature, you can now view Unreal Engine logs without leaving VS. To see the logs from the Unreal Engine Editor, click View > Other Windows > UE Log. To filter your logs, click on the "Categories" or "Verbosity" dropdowns. Since this is an experimental feature, feedback is greatly appreciated.
- You can now import STM32CubeIDE projects for embedded development within Visual Studio with File > Open > Import STM32CubeIDE project. This generates a CMake project with device flashing and debugging settings for STLink. You must have the STM32CubeIDE installed with the board support package for your device. More details available here.
- You can use the new CMake Debugger to debug your CMake scripts at configure time. You can set breakpoints based on filenames, line numbers, and when CMake errors are triggered. Additionally, you can view call stacks of filenames and watch defined variables. Currently, this only works with bundled CMake, and projects targeting WSL or remote machines are not supported yet. We are actively working to add more support to the CMake debugger, and feedback is greatly appreciated.
- With the new Remote File Explorer, you can browse, upload, and download files to your remote machine listed in the Connection Manager.
Debugging & Diagnostics
- You can now use the IEnumerable and DataSet Visualizer to inspect your variables/objects when debugging .NET on Unix via SSH, Docker, or WSL.
The HTML and XML debugger visualizer is now fully themed and supports Visual Studio's blue, light, and dark themes.
The call stack window now supports search functionality. You can add desired search keywords in the search box, and the matching call stack frames will get highlighted. The window also had a new entry point for the parallel stacks providing quick access to the window while debugging.
- The reattach to debugger process is now persistent to the solution/project across sessions. So you can reattach to processes that you were previously attached to, even after you open a new VS session.
- The parallel stack window now has new copy functionality. You can double-click on a frame to copy the stack/ shift & select frames of interest / select particular by clicking on the line and copy and then paste into your local notepad/excel to evaluate further.
Sticky Scroll
- Sticky Scroll helps you orient where you are in the file and understand the context of the code you're looking at. As you scroll through your code, the class and method signatures and other headers will stick to the top of your screen. Clicking on a line in the header will navigate you to that code.
- Enable in "Options > Text Editor > General > Sticky scroll (experimental)" by toggling the checkbox for "Group the current scopes within a scrollable region of the editor window". You can change the maximum number of lines with "Maximum sticky lines".
Feedback and suggestions
We would love to hear from you! You can Report a Problem or Suggest a Feature by using the Send Feedback icon in the upper right-hand corner of either the installer or the Visual Studio IDE, or from Help > Send Feedback. You can track your issues by using Visual Studio Developer Community, where you add comments or find solutions. You can also get free installation help through our Live Chat support.
Blogs
Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.
Known Issues
- The vcpkg package manager is now available as a component in the Visual Studio installer. However, as we are still addressing several aspects of the experience, we recommend continuing to use an external copy of vcpkg in Preview 2. In a future preview release, we will provide more details on this new experience.
See all open issues and available workarounds in Visual Studio 2022 by following the below links.