Visual Studio 2022 – 17.6 Now Available
In the sprint to the BUILD 2023 conference, we’re thrilled to announce the general availability of Visual Studio version 17.6 today. This latest release delivers a range of powerful tools and features designed to empower you in crafting cutting-edge applications and experiences. The user-friendly environment, along with essential features like code completion, debugging, refactoring, and version control, caters to both experienced and novice developers striving to achieve their software development objectives, solidifying its position as the go-to IDE for millions of developers worldwide.
We’ve committed to you to enhance Visual Studio across a set of familiar themes that are enduring throughout each of our Visual Studio releases. Visual Studio 2022 version 17.6 represents the culmination to date for these big rocks:
- Level Up Your Productivity
- Build Modern .NET Apps
- Streamline Game Development
- Bring Your C++ Cross-platform Codebases
- Enterprise Management
You’ve also given us feedback and we listened. Many new features come straight from your feedback and suggestions, with this release completing 22 suggestions. Here are some of your most up-voted suggestions:
- Arm64 support for .NET MAUI
- .natstepfilter and .natjmc to be included as part of a project (vcxproj)
- “Sync with active document” now works in CMake Target View
- Creation of breakpoint groups
In this release, we’ve introduced significant performance enhancements to streamline your development experience. You’ll find improved performance for Git File History, faster opening and closing times for large solutions like Chromium, as well as large speed-ups in Performance Profiler ‘s stop collection operation.
We’ve made updates to the All-In-One Search UI, allowing you to search code and Visual Studio features in one spot. Additionally, both Brace Pair Colorization and Sticky Scroll are now available in the editor to help increase code readability, and our newly enhanced Spell Checker now supports C#, C++, and Markdown files, ensuring that your spelling is accurate throughout your project.
This GA release is all about productivity as it also brings language-specific productivity improvements, such as the C++ Member Function feature that enables you to quickly create C++ constructors and equality operations, and the C# IntelliCode API Usage Examples that help you find relevant, practical examples of API usage.
If you’re still chasing down a few bugs in your code, Visual Studio version 17.6 answers the call with new debugger & diagnostics capabilities. The Visualizer Support for .NET Unix remote debugging, Live Graph in the WSL Profiler, breakpoint groups, and the newly enhanced Call Stack Window, now with search and highlighting complement a seamless debugging experience across all supported platforms.
We’re constantly improving the git integration and, in this release, you can stage changes while building, unstage at line level, and the merging UI brings more control over your merges, increasing agility and collaboration with your dev team.
Beyond individuals, Visual Studio continues to offer features that better support dev teams at scaleLastly, this release also has the distinction of being a long-term servicing release (LTS). To learn more about LTS releases, check out Visual Studio Product Lifecycle and Servicing | Microsoft Learn.
And if you are a .NET or cloud-native developer, writing C++ cross-platform code, or you are a game developer, you can also dive deeper by reading the .NET Blog post on What’s New in .NET 8 Preview 4 or the C++ Blog post on Visual Studio 2022 version 17.6 for C++ Developers.
With Visual Studio 2022, our goal is to help you get more done in less time throughout all your development tasks inside the IDE, and in this release, we have improved the performance in several core experiences based on your feedback.
We made significant improvements to the Solution – Open scenario and in Solution Filters for Chromium developers. Cached project load of the full Chromium solution (11K projects) is 8x faster, which translates to saving 3.5 minutes of Solution Load. With these improvements the generated Chromium solution loads cached in about 30 seconds. With Solution filters loading Chromium with 63 projects, this improvement translates into 3x, saving about 20 seconds of cached or uncached load time. As with large-scale performance improvements in general, for smaller projects, the wins will be much smaller.
We made improvements to the Solution – Close scenario, which makes closing a solution containing C++ projects faster. The overall perf improvements can make closing a solution in some cases from 20% faster for small codebases, to 50% faster in some cases for large solutions (1000+ projects). We expect the wins to be more noticeable in large projects. For Chromium, the improvements are typically 50%, saving 20 seconds of time.
The Git History feature now loads files and folders faster for repositories with long history and less frequent commits. For example loading files have improved the performance by 42% in the Git public repository.
We have made significant improvements in the performance of the Performance Profiler’s stop collection feature. The stop collection now runs approximately 3.5 times faster when generating and almost 15 times faster when using cached values (which are always used if they are available). We’ve tested this using a 10-second trace in Visual Studio and as seen in example version 17.6 is significantly faster than previous versions.
New features are available in this release to help you enhance your productivity across different aspects of the development process. Let’s dive into these features.
Sticky Scroll keeps relevant headers in view, making it easier to navigate and understand your codebase. Now you can maintain context in your code while working with long classes and methods. Learn more about Sticky Scroll.
All-in-one search makes it easy for you to quickly find a Visual Studio menu feature (Ctrl+Q) or files, types, and members in your code (Ctrl+T). With this release you will see each result on 2 lines of space, default preview is at the bottom and the window size and location is persisted between sessions. These improvements are based on your suggestions (1, 2) 🙏 so please keep the feedback coming. Learn more about All-in-one search.
Spell Checker will check your C#, C++, and Markdown files for incorrectly spelled words. It can be enabled with the Edit > Advanced > Toggle Text Spell Checker menu command, or with the Toggle Text Spell Checker button on the main toolbar. By default, the spell checker will look for misspelled words in comments, identifiers and strings in the open document, and mark any unknown words as messages. Learn more about Spell Checker and how to configure it.
This release also brings language-specific productivity improvements, such as C++ Member Function enables you to quickly create C++ constructors and equality operations, and the C# IntelliCode API Usage Examples help you find relevant, practical C# examples of API usage for 100k common APIs right within Visual Studio.
There is no better feeling that being able to catch and fix an elusive bug, and to be as effective as possible in doing so, this Visual Studio release brings you new enhancements to the best-in-class tools for the job.
Breakpoints Groups allows you to quickly and easily manage breakpoints in organized groups making debugging, testing and troubleshooting more efficient. This feature, built based on your suggestion 🙏, enables you to create, switch between, and manipulate groups of breakpoints, improving your debugging workflow.
There are more suggestions in the debugging space that we have addressed this release, as Visual Studio now supports .natstepfilter and .natjmc as part of the C++ project (suggestion 🙏), and searching and highlighting in Call Stack window (suggestion 🙏).
.NET Remote Debugging now supports visualizers for IEnumerable and DataSet to inspect your variables/objects when debugging .NET on Unix via SSH, Docker, or WSL.
Visual Studio Profiler shows live graphs now when collecting in WSL from dotnet-monitor. The WSL live metrics are available for .NET object allocation, CPU usage, and the .NET counter tool. Learn more about the .NET memory usage analysis.
Instrumentation in Visual Studio Profiler has been significantly improved, now using less resources, you can use the flame graph to identify you Hot Path in your program, and provides better error handling and scoping. Learn more about the latest improvements in the Visual Studio Instrumentation Profiling.
To make the best of your collaboration with your dev team, you will want to get familiar with the latest enhancements provided by Visual Studio’s git integration:
Improve Merge Dialog provides more information and control over your merges, helping you avoid merging from incorrect branches and reducing the risk of conflicts
Git Line Unstaging allows you to unstage changes line by line, offering more granular control over your staged changes.
Based on a suggestion 🙏, now you can also stage your changes and commit while building rather than having to wait for the build to finish.
Link to GitHub Issues gives you easy access to GitHub issues that you can reference directly from within Visual Studio, streamlining your issue tracking and collaboration efforts.
Elevate your .NET development experience with powerful new tools and enhancements designed to streamline the creation of modern applications for a diverse range of platforms and devices.
Android Manifest Editor streamlines your Android development process by making it easier to set available APK properties and request device-specific permissions.
There are more suggestions coming from you that we have addressed in this release: you can now build on and target Windows ARM64 devices when developing your .NET MAUI application (suggestion 🙏). The JS/TS editing experience also benefits from your suggestions, with two suggestions completed (suggestion 1, suggestion 2 🙏):
Web API development with ASP.NET Core is getting easier than ever with a number of updates for developing APIs, including Endpoint Explorer and .http file support to test APIs. This enhances your overall API development workflow when combined with API scaffolding, Entity Framework tooling, and developer tunnels. Read more in our latest blogpost about Web API development in Visual Studio 2022. If you want to see all this in action, checkout this short video:
Visual Studio 2022 version 17.6 is a must-have whether you are an indie game developer or an AAA game developer. The enhanced capabilities of Visual Studio in every aspect of the developer inner loop will make game development faster, more productive, and more enjoyable. In this release, you can now stream Unreal Engine logs directly in Visual Studio, and benefit from an improved HLSL editing experience.
Unreal Engine Log Viewer enables you to view Unreal Engine logs without leaving Visual Studio. To open the log window, click View > Other Windows > Unreal Engine Log. You can also filter your logs based on “Categories” or “Verbosity”. After opening the UE log window, logs will automatically streamed when you start the Unreal Editor with F5. You can also press the red Record button if attaching the debugger to your UE process is not feasible.
HLSL Tools Extension by Tim Jones, now available as part of Visual Studio, boosts your HLSL (High Level Shading Language) development productivity. Enjoy features like syntax highlighting, statement completion, and go-to definition for an improved shader development experience.
Learn more from our latest blogpost about game development integrations in Visual Studio 2022. To see these features in action, check out this Visual Studio Toolbox episode:
Visual Studio provides industry-leading development tools for C++ for any platform you’re targeting, integrating with a variety of tools from different vendors. You can rest assured that you will not trade-in flexibility in how you’re developing your C++ projects once you start using Visual Studio. In this release, Visual Studio adds new workflows for CMake, SSH, STM32CubeIDE and vcpkg:
CMake Debugger allows you to debug your CMakeLists.txt files within Visual Studio for any CMake project. Set breakpoints, step into, over, or out of them, and even pause or continue the currently executing scope. With an intuitive call stack display and variable watch functionality, the CMake Debugger streamlines the process of troubleshooting and refining your CMake projects. Learn more about the CMake Debugger.
Remote File Explorer for Unix enables you to browse, upload, and download files to your remote Unix-based machines listed in the Connection Manager. Following up on a suggestion 🙏, the Remote File Explorer can now be installed through the Linux and Embedded Development workload and offers a seamless and efficient way to manage files and directories on remote systems. Discover more about the Remote File Explorer.
If you use STM32CubeIDE projects, you can import them directly in Visual Studio by selecting File > Open > Import STM32CubeIDE project, when you have the Linux and Embedded Development workload installed. Learn more about how to work with STM32CubeIDE projects.
Vcpkg, the C++ package manager, now ships with Visual Studio and its commands can be run from a Developer Command Prompt or Visual Studio’s Integrated Terminal. More details are available in the vcpkg April update.
We’re introducing features that make it easier to scale your enterprise development environment and simplify the deployment and management of Visual Studio for IT administrators and developers.
Organizations can now host and deploy Visual Studio layouts on an intranet website in addition to a file share. This simplifies layout maintenance and improves installation performance, particularly for organizations using multiple global network file shares. Refer to the online documentation about http layouts for more information.
We’ve updated the logic on the installer’s “Available” tab to better reflect what products customers are most likely to want to install. You will now always have access to the latest Previews, as well as the latest major versions of SKUs you may already have installed. It’s also possible for enterprises to disable the Available Tab altogether across their organization as requested by your suggestion🙏. Keep watching this space for additional improvements in the future.
The Visual Studio installer is independent from the Visual Studio product, and it governs multiple versions of Visual Studio all the way back to Visual Studio 2017. Starting now, every future release of Visual Studio 2017, Visual Studio 2019, and Visual Studio 2022 will ship the latest installer. This means that all of these products will automatically be able to take advantage of the bug fixes and new features we add to the installer without needing to do anything special other than having the latest version of the product on the client machine.
Per your suggestion 🙏, we’ve also enabled the ability for clients to rollback an update if the product was sourced from a layout. IT administrators are expected to keep the older versions of the product packages available in the layout to facilitate the client’s ability to facilitate this.
Multiple .vsconfig files at any location in your repository are now supported, with the aid of an open-source tool called the Visual Studio Configuration Finder that can help you consolidate them when needed. Visual Studio’s VSConfig is a useful configuration tool that gives you the ability to export and import workload and component selection to a Visual Studio installation configuration file. For more information regarding VSConfig, please visit Import or export installation configurations | Microsoft Learn.
As you use Visual Studio, continue to let us know what you love, what you live, and where you’d like us to improve the product next. You can share your feedback with us via Developer Community by reporting any problems or sharing your suggestions for new features or improvements to existing ones. Your feedback is critical to help us make Visual Studio the best tool it can be!
On behalf of the whole Visual Studio team, Happy Coding!