We’re delighted to announce the General Availability (GA) of Visual Studio 2022 version 17.7 today. This release is a testament to our continued commitment to creating an enriched developer experience, powered by community feedback, and driven by the needs of the diverse developer landscape. From novice coders to experienced developers, this update packs a variety of productivity enhancements, performance improvements, and new features to streamline your coding journey.
Throughout each of our Visual Studio releases, we have committed to enhancing Visual Studio across a set of enduring themes. Visual Studio 2022 version 17.7 represents the latest culmination of these areas of focus.
Here are some of the major areas we’ve focused on in this release:
We encourage you to download Visual Studio 2022 17.7 GA and explore these new features and enhancements for yourself. As always, your feedback is crucial to us. Share your thoughts on this blog post and help us continue to refine and perfect the Visual Studio experience. For a complete list of enhancements check out the Release Notes. Now, let’s delve into some of the significant enhancements and features this GA release has to offer:
Productivity Features
Comparing Files
You no longer need to leave Visual Studio and rely on other tools to compare files. Now you can easily compare any file in Solution Explorer with other files by either:
- Right-clicking on a single file, selecting “Compare With…” from the context menu which will bring up File Explorer. Navigating to any file on disk and selecting it for comparison.
- Multi-selecting two files by holding down the Ctrl button then right-clicking and selecting “Compare Selected” from the context menu.
Please share your feedback here. We’d love to hear your thoughts on this new experience.
Copy and Trim Indentation
If you have ever copied code from Visual Studio to another application (Outlook, Teams, Slack, etc) and found that your code indentation has not been copied correctly, you will find that this new capability fixes that for you. Visual Studio now automatically fixes indentation for you when you copy code from Visual Studio and paste it in another application.
Multi-branch Git Graph
Collaborating across different git branches gets tricky without the ability to understand the relationship between these branches. Visualizing multiple branches doesn’t only make it easy to compare between branches, but it also empowers you to perform cross branch operations like cherry picking a commit for example. Now you can quickly spot any missing commits you would like to cherry pick without having to navigate away from your current branch. Click here to learn more about this feature and use this link to share your feedback.
Create New GitHub Actions
You can now create new GitHub Actions workflows from Solution Explorer. Azure Container Apps and Azure Kubernetes Service destinations are supported, and now you can deploy multiple projects with a single workflow. When your project is under source control on GitHub.com, a new node appears in Solution Explorer representing GitHub Actions. Right-click and select “Create new” to try out the new experience. Continue to share your feedback on this feature here.
Parallel Stack Filtering
You can use the updated Parallel Stack filtering options that lets you selectively display or hide specific threads or frames. This means you can easily concentrate on the frames and threads that are important to you, giving you a clearer picture. Additionally, you can now Drag Select frames from the parallel stack window, allowing you to perform operations like copy/paste, flag/unflag, or freeze/thaw for all the selected frames at once.
Performance Improvements
F5 Speed
We recognize that the performance of Visual Studio is critical to you. With this in mind, we have optimized Program Database (PDB) files, resulting in improving debugging sessions and decreasing the project selection screen loading time for Unreal projects for example by 21% (~4 sec gain). Additionally, the F5 path is optimized, leading to a 5-10% improvement in the debugger’s startup time and process launch.
All-in-One Search Responsiveness
Several accuracy and performance enhancements are coming to All-in-One Search. For example, exact matches now show higher in the results list and results update more accurately in real time as you type your query.
Try out the All-In-One Search experience by making sure it is enabled in Tools > Manage Preview Features > “New Visual Studio Search experience (restart required)” and using the Ctrl + T or the Ctrl + Q keyboard shortcut to launch it. If you have feedback to share with us about this feature, let us know here.
Find in Files Search Time
Find in Files search time has been significantly improved with various optimizations, resulting in a remarkable ~50% reduction in search time!
C# Spell Checker Memory Consumption
The LSP (Language Server Protocol) for the C# Spell Checker underwent significant improvements. By implementing a more efficient data structure and enabling streaming support, we achieved a remarkable 90% reduction in the memory footprint of the JSON transferred between the LSP Server and LSP Client. This enhancement leads to faster performance, increased efficiency, and scalability for the spell-checking functionality.
C++ Unreal Engine Time to IntelliSense
In Unreal Engine projects, time to IntelliSense and colorization in newly opened C++ files has been significantly reduced. The generation of IntelliSense cache (IPCH) is now 30% faster in Unreal Engine 5.1 and 5.2 projects and 15% faster in Unreal Engine 4.27 projects.
.NET Development
Auto-decompilation for External .NET Code
Visual Studio’s External Source Debugging is now more powerful and effortless with auto-decompilation for external .NET code. When you step into external code, the debugger will now display the point of execution. This feature is particularly useful when analyzing call stacks, as you can double-click any stack frame and the debugger will navigate directly to the code. You can debug the decompiled code and set breakpoints easily.
All the decompiled code is also shown under the External Sources node in Solution Explorer when in debug session, making it easy to browse through the external files if needed. If you wish to disable the automatic decompilation of external code, simply clear the “Automatically decompile to source when needed (managed only)” option under Tools > Options > Debugging.
New Auto Insights for the CPU Usage Tool
The CPU usage tool now provides more detailed information and insights for certain methods and properties, including Enum.HasFlag, Enum.ToString, String.StartsWith, String(char[]), ConcurrentDictionary.Count, ConcurrentDictionary.Keys/Values, and DateTime.Now. This means that you can get a better understanding of how these methods and properties are affecting your CPU usage, which can help you optimize your code and improve performance.
In addition, there’s a new preview capability that demonstrates GitHub Copilot chat integration with the CPU usage tool. This feature can be triggered when you encounter an issue, and it will provide you with an explanation of why the issue occurred and suggest a fix for it. This can be a helpful tool for you when you are looking to improve your code.
C++ and Game Development
Unreal Engine Macros Formatting for C++
We have added an option to use special indentation rules for Unreal Engine macros. Visual Studio will detect and use indentation and formatting rules for your Unreal Engine reflection macros.
To turn ON Unreal Engine specific formatting, search “Unreal Engine” in Options or go to Tools -> Options -> Text Editor -> C/C++ -> Code Style -> Formatting -> Unreal Engine and check “Apply special formatting for Slate declarative syntax and Unreal Engine reflection macros.”
C++ Build Insights
Thanks to your feedback, we are happy to announce that Build Insights is now integrated with Visual Studio 2022! Build Insights provides you with valuable information needed when optimizing your C++ build times. Start your Build Insights .etl trace capture with a click of a button for your solution or projects. In Visual Studio 17.7, you can now see Included Files and Include Tree view. For advanced profiling, click the “Open in WPA” button to see the trace in Windows Performance Analyzer.
After compilation, Build Insights will create a diagnostic report that allows you to see expensive includes and navigate directly to header files. We are committed to continually improving Build Insights. Which additional workflows would you like to see in Build Insights? Let us know in this Developer Community Ticket. Click here to learn more about this feature.
Unreal Engine Naming Convention Checker for C++
Visual Studio will now give you hints when your symbols are not conformant to the Unreal Engine coding style. After adding an .editorconfig file to your Unreal Engine project, Visual Studio will display naming convention warnings in the Error List and provide a Quick Fix option upon right-clicking.
To change whether Visual Studio should treat the checks as Warnings or Suggestions, go to Tools -> Options -> Text Editor -> C/C++ -> Code Style -> Linter and change “Naming Convention (experimental)”.
Improved Doxygen Overload Resolution
Support for Doxygen comments has been enhanced, allowing the display of shared Doxygen comments in overloads that are not directly positioned beneath the comments. Furthermore, to enhance clarity and organization, any parameters that are unused will be conveniently grouped under the heading “Unused Parameter.” Click here to learn more about this feature.
Visualize Macro Expansion for C++
Visual Studio now enables you to observe the step-by-step expansion of macros. When hovering over a macro, a tooltip with a new “Visualize Macro” option shows up. Clicking on “Visualize Macro” opens a new window displaying the initial expansion of the macro. With the help of arrows, you can navigate through each expansion step. Clicking the window tool button will display the steps of the expansion in a different window. Click here to learn more about this feature.
Unreal Engine Blueprint Find All References
In this release, you will be able to search for references of UFUNCTIONs in Blueprints with the new Blueprint Find All References. The latest version of our Unreal Engine plugin “Visual Studio Integration Tool” is required.
Linux and Embedded Development with C++
WSL Automatic Acquisition
With the Linux and Embedded Workload, Visual Studio now makes it easier than ever to get to that one-click download of WSL. When you open a CMake project that can target Linux, a gold bar will open for users to click and open a WSL installation process. By default, it will install an Ubuntu machine. Additionally, you can open the dialog by navigation to Project > Install WSL For Me.
Remote File Explorer Updates
We have added search capability to the Remote File Explorer. You are now able to search for files based on where you are in your remote machine along the top bar, and then right-click to go to any found file’s location. To open the Remote File Explorer, navigate to View > Remote File Explorer after downloading it with the Linux and Embedded Workflow in Visual Studio.
Web Development
npm Dependency Management in ASP.NET Projects
In your ASP.NET projects that leverage npm packages, Visual Studio will now show those packages from your package.json in the Dependencies node in Solution Explorer. This enables you to get a clear view of all your solution dependencies in one place for .NET with references, NuGet packages, and now npm packages. You can add new packages or restore (npm install) all packages by right clicking on the npm node. You can search and select which package you would like to add using the UI. You can update or uninstall a specific package by right clicking on it.
Supporting Vite for React and Vue New Project Creation
When we announced the JavaScript/TypeScript and .NET combined project templates in Visual Studio, we received community feedback that both create-react-app and the vue cli are no longer the preferred way of creating new applications. We now utilize Vite for both React and Vue new project creation for our JavaScript and TypeScript project templates in Visual Studio. Project build and run will also benefit from Vite, such as faster server start and updates.
Enterprise Management and Acquisition
Ability for Standard Users to Update and Modify Visual Studio
Many enterprises spend a great deal of time and effort keeping their organization secure. They follow best practices by configuring users and machines to have a minimum level of access permissions, and they invest a lot of energy in keeping their organization’s software updated.
When organizations do restrict user permissions, it compromises their ability to keep Visual Studio updated and secure. The Visual Studio installer requires administrator permissions to use, but when users don’t have this level of access, they are prevented from updating Visual Studio and acquiring the latest security fixes and features. This problem was one of our top developer community reported issues.
We’re happy to announce that starting with the 17.7 installer, standard users with minimized permissions can now update and modify Visual Studio! The initial bootstrapping and policy configuration to enable this must still be done by an administrator, but after that, any installer functionality can be initiated and executed by a non-administrator user.
This feature will offer organizations more flexibility and make it easier for you to configure and maintain a secure and productive environment.
Rollback Now Preserves all User Settings
We continue to make improvements to our recently shipped feature that gives you the option to “rollback an update”. If you now roll back to a version 17.7 or higher, all your local customizations such as user settings will be preserved. For more information, please visit the Rollback blogpost.
Share your feedback and stay connected with Visual Studio!
As you use Visual Studio, let us know what you love, what you like, and where you’d like us to improve. You can share feedback with us via Developer Community: report any bugs or issues via report a problem and share your suggestions for new features or improvements to existing ones.
Stay connected with the Visual Studio team by following us on YouTube, Twitter, LinkedIn, Twitch and on Microsoft Learn.
As always, we appreciate the time you’ve spent reporting issues and hope you continue to give us feedback on how we’re doing and what we can improve.
There was a new feature in version 17.7(?) which docked the Start Window in a tab in the IDE when you launched VS. I liked this feature but now it is gone.
Was this feature removed? Have I disabled it somehow?
I would love to see this feature again. Maybe this could be added as an option in Environment>General>On Startup, open: “Start Window in tab”.
Thanks,
Just updated to 17.7.3. Was excited about the GitHub Actions support as I have a GH repo that I just created an action in yesterday. Not seeing it in the solution. Nor am I seeing the “Show GitHub Actions in Solution Explorer” option in to enable it, as the “what’s new” pane in VS directs me to check. Microsoft, you’re such a tease…
Visual Studio 2022 version 17.7.1 Welcom tool windows disappeared :/
In the previous version of VS2022, it was possible to see on left side all Git repositories. Now, you have to switch using a combobox at the top. Is there a way to restore the previous layout where all the repositories are visible on the left side? When the repositories are included as submodules, it’s advantageous to have visibility into all of them.
Saw 17.7.1 was available this morning but clicking to update with installer version 3.6.2115.31769 gives "Sorry, something went wrong. The install operation failed". Is the update still being uploaded?
<code>
This release brings a lot of new good stuff. However, it breaks a lot of working good stuff. I totally regret updating.
* VS SDK is broken, many extensions stopped working
* Nuget package manager crashes
* ctrl+f results in an error screen
And all this during the first half an hour using it.
If you wonder updating your VS I recommend to wait. For me it is a nightmare.
Can you think of any reason why my VS won’t update? I’m using VS 2022 Pro, and when I goto update it, it tells me it’s up to date..with 17.6.6. I’ve tried restarting VS and rebooting, but no dice. Any way to update with a link?
You might want to check your Visual Studio Installer version in the lower right hand corner. It’s why I couldn’t update between 17.7.0 and 17.7.1. Had to delete the contents of C:\Program Files (x86)\Microsoft Visual Studio\Installer and then rerunning the bootstrapper from Bootstrapper went from v3.6.2115.31769 to v3.7.2175.60206 and allowed me to update to VS 2022 17.7.1
Looks like the illustration picture for Doxygen improvement shows incorrect behavior.
The function with a single argument has argument a, but the tooltip shows the documentation for argument b instead.
How do I disable the mouse-over-popup that says “Stage Line” when viewing file-changes ?
This is a really annoying popup, and makes it impossible to copy-paste text hidden below the popup. And it also make it impossible to perform editing of text hidden below the popup.
Please stop injecting noise into the text-editor, I don’t want popups flashing while I review/edit my source-code-changes. Instead use the right-click-context-menu (or keyboard shortcuts) like everyone else.
Found the cure to my pain. Clicking “Show staging controls” inside the git-file-compare-window made the “Stage Line”-popup go away. Could have been nice if the setting was included in the standard Visual Studio Option List, which is searchable.
See also: https://developercommunity.visualstudio.com/t/Staging-popups-when-work-with-git-diffs/10420368
The same annoying popup was driving me crazy, too! Thanks for posting the cure to this, and let’s hope the Microsoft VS Team adds this to the standard Visual Studio option list.
This release is pretty broken. I and many others are experiencing this issue https://learn.microsoft.com/en-us/answers/questions/1343531/visual-studio-app-wont-open-after-17-7-0-update?page=1&orderby=Helpful&comment=answer-1298743#newest-answer-comment.
any idea when this will be fixed?