Welcome to the Public Preview 2 of Visual Studio version 17.7! Hot on the heels of our recent Preview 1, we’re thrilled to roll out another collection of upgrades tailored to empower developers like you. Preview 2 pushes the boundaries further, providing speed, productivity, and collaboration improvements for developers across different domains.
Dive into this new wave of enhancements, spanning improved debugging capabilities, auto-decompilation for external .NET code, several C++ embedded and game development improvements, and more. Now you can even create your pull requests right within Visual Studio! Look at our comprehensive list of enhancements and let us know which is your favorite:
Our team is eager to share these new features in this release. We encourage you to explore these highlights, and don’t hesitate to share your feedback on this blog post. Your insights will help us refine the experience before we reach General Availability (GA). Enjoy the latest advancements in Visual Studio 2022 and discover the future of development at your fingertips!
IDE Productivity & Performance
Improved File Comparisons
You can now select two files in Solution Explorer and compare them using the new “Compare Selected” option.
This option is an addition to the two new compare options we announced in 17.7 Preview 1. With the changes in this and last preview, you can now compare files by either:
- Multi-selecting two files by holding down the Ctrl button then right-clicking and pressing “Compare Selected” from the context menu (New in 17.7 Preview 2)
- Right-clicking on a single file, pressing “Select for Compare” from the context menu. Navigating to the second file in Solution explorer, right-clicking on the second file and pressing “Compare with {file1}” (New in 17.7 Preview 1)
- Right-clicking on a single file, pressing “Compare With…” from the context menu which will bring up File Explorer. Navigating to any file on disk and selecting it for comparison (New in 17.7 Preview 1)
No matter which way you choose to compare your files, we’re hoping these new options will make it easier to compare your files without having to leave your IDE. We’d love to hear your thoughts on the new compare options. Please share your feedback here.
Create a Pull Request
You can now create a Pull Request, completing the entire inner workflow, in Visual Studio. Enter the New Pull Request window by clicking the link in the notification banner after pushing, or from the top-level menu via Git > GitHub/Azure DevOps > New Pull Request.
We plan to continue making updates to improve this Pull Request experience, so please share your feedback about this feature here and engage with us on the suggestion ticket in Developer Community.
Enhanced Multi-branch Graph
Building on the work from 17.7 preview 1, the multi-branch graph has a variety of UI enhancements to improve readability and provide more ease in interacting with multiple branches. The new line coloring and the branches labels on the left side make it easier to trace which commits belong to each branch. The list of branches at the top of the table allows you to scroll between branches more easily and know immediately which branches are visualized.
Continue to share your feedback on this feature here.
Parallel Stack Filtering
You can use the updated Parallel Stack Window to filter frames and threads in multithreaded applications, which can help you focus on the frames and threads that matter to you. 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. Give it a try and see how it can elevate your multithreading workflow!
Enhanced F5 Speed
Significant improvements have been achieved in the opening of Program Database (PDB) files, resulting in a reduction of approximately 4 seconds in the time it takes to display the project selection screen in the Unreal Editor. Additionally, the F5 path has been optimized, leading to a 5-10% improvement in the debugger’s startup time and the process launch. It is important to note that these performance gains are not limited to Unreal game development but apply to all native debugging in Visual Studio. These enhancements are particularly noticeable during the initial F5 operation.
Optimized editing speed
- Enhanced Light Bulb performance in Roslyn: Further performance enhancements to the light bulb feature in Roslyn. With the introduction of the FilterSpan API, fixing slow diagnostics like Fix Formatting and Simplify Type Name is now faster than ever . Enjoy immediate suggestions and fixes, even in large documents or after making edits.
- Optimized Hash creation for reduced CPU consumption: Visual Studio now offers improved performance with reduced CPU consumption during the loading of large solutions. This enhancement is achieved using optimized hash creation methods, benefiting machines with multiple cores.
- C++ Unreal Engine – IntelliSense optimization: In Unreal Engine projects, the time for IntelliSense and Colorization to become ready in a newly opened C++ file 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
The Visual Studio’s External Source Debugging is now more powerful and effortless with auto-decompilation for external .NET code. When you step into code that has been implemented externally, the debugger will automatically decompile it and 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 of 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 feature called ‘Ask Copilot‘ that uses the Copilot chat extension. 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 very helpful tool for developers who are looking to improve their code and avoid common issues.
C++ and game development
Build Insights in Visual Studio (C++)
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.
After compilation, Build Insights will create a diagnostic report that allows you to see expensive includes and navigate directly to header files. For power users, you can open Windows Performance Analyzer (WPA) from within the report.
We are committed to continually improving Build Insights. The current integration of Build Insights you see today represents only a fragment of what we have in store for you. For more information, please see this video.
Unreal Engine Blueprint Find All References
In this preview, you will be able to search for references of UFUNCTIONs in Blueprints with the new Blueprint Find All References. Our Unreal Engine plugin “Visual Studio Integration Tool” is required.
Improved Doxygen overload resolution
The support for Doxygen comments has been enhanced, allowing the display of shared Doxygen comments in overloads that are not directly positioned beneath the comments. Prior to this enhancement, Doxygen comments were not displayed in the Quick Info section for overloads that were not immediately following the comments. With this improvement, when an overload is not directly below the Doxygen comments, you will now find the informative text “Documentation from another overload” included in the Quick Info. Furthermore, to enhance clarity and organization, any parameters that are unused will be conveniently grouped under the heading “Unused Parameter.”
Linux and embedded development with C++
Updates for the Remote File Explorer
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
Additionally, we have added two new buttons to the toolbar to improve the Remote File Explorer experience, one to go to the home directory and one to open tools options.
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.
In the installation dialog, it will automatically check the status of pre-requisites on your machine for the installation and populate additional information if anything needs pre-configuring. After the pre-requisites are run and all pass, the installation process will kick off.
JavaScript and TypeScript Development
Supporting Vite for React and Vue new project creation.
When we announced the JavaScript/TypeScript and .NET combined project templates in Visual Studio, we got community feedback that both create-react-app and the vue cli are no longer the supported and preferred way of creating new applications. We completed supporting Vite for both React and Vue new project creation for our JavaScript and TypeScript project templates in Visual Studio. We also added support for project build and run using Vite.
Enterprise Management
Ability for standard users to update and modify Visual Studio
Many enterprises spend a great deal of time and effort keeping their organization secure. Their users and machines are configured to have minimum level of access permissions, and they invest a lot of energy in keeping their organization’s software updated.
Unfortunately, as many users have noted, these user access restrictions can be in conflict with Visual Studio installer access requirements. The act of installing, updating, or modifying Visual Studio currently requires administrator permissions because the Visual Studio installer may need to write to special protected areas of the client machine. Thus, many users in managed enterprise environments may find themselves in situations where they don’t have the necessary permissions to update Visual Studio and acquire the latest security fixes and features. Ironically, in the name of security, the users are unable to stay secure.
We’re happy to announce that the latest Visual Studio 17.7 installer will now enable users with minimal standard permissions to update and modify Visual Studio! Installation and configuration must still be done by an administrator, but once this feature is enabled on the client machine, any installer functionality can be initiated and executed by a standard non-administrator user.
To enable this functionality, an administrator will need to perform two simple actions on the client machine: install the latest installer and set the new global policy.
- The easiest way to acquire the 17.7 Preview 2 installer on the client machine is to install 17.7 Preview 2. If you don’t want to install the whole Preview product, you can cancel the Preview setup after the installer update has finished installing.
- Set the global policy ‘AllowStandardUserControl’ REG_DWORD
- 1 – enables just update and rollback
- 2 – enables all installer actions, including modify and install from Available tab.
Once this feature is released, it will automatically work with the latest version of all supported Visual Studio products because in 17.6, we started shipping the latest installer everywhere.
Please try out this feature and let us know what you think! We hope it will help and make it easier for you to maintain a secure and productive environment.
Ability for administrators to add private layouts to the Installer’s Available tab.
Enterprises will now be able to make their own custom network layouts available on the Installer’s Available tab by adding custom channels to the client’s registry. This new feature complements the standard user feature described above, and it also complements the improvements we made to the Available Tab in 17.6.
With this feature, we have a clean separation of responsibilities model. The Administrator can set user access permissions and prepare client machines within their organization to better control what the end user is allowed to execute. The end users, assuming they’ve been given the appropriate controls, will have the ability and can be responsible for installing (from the Available tab), modifying, and updating Visual Studio.
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.
Support for Vite is great! Please also support pnpm as an alternative package manager to npm!
This release brought back the old expanded Script Documents issue that has been complained about since 2010. Every time I'm debugging now that blasted Script Documents entry is back and fully expanded even in Blazor - taking over the entire Solution Explorer. Come on! How the heck did this issue resurface????
Please fix it AND give us a way to turn it ON/OFF and Expanded/Collapsed by default so we won't keep...
Are forms editors for C++ and .NET Framework Windows Forms now be able to open forms containing 32-Bit OCX controls? See https://developercommunity.visualstudio.com/t/VS2022-resource-editor-cant-handle-32-b/1666972#T-ND10305345.
For some reasons, the workarounds stated there aren’t working for our cases. This is the only reason we have to use VS2019 in the enterprise in parallel to VS2022. We want to get rid of 2019.
Please fix the Blazor debugging experience. My solution takes nearly 30 seconds each and every time to shut down, and takes 10-15 seconds before Diagnostic Tools are even seen:
https://developercommunity.visualstudio.com/t/Debugging-Sessions-Take-Forever-to-Shut/10372360
That’s nearly a minute each and every time I want to debug. I thought there was a focus on improving this experience?
Also, fixing the deadlocks would be nice. Why does it take nearly a half year to fix something so disruptive? 🤔
https://developercommunity.visualstudio.com/t/Another-Visual-Studio-Deadlock/10259019
Downloaded the latest update this evening, in the individual components I see that Python 64-bit is out of support, but when you attempt to uninstall it. it says that the Linux workload requires it.
If you then remove the Linux workload, you would hope that if you added the workload back that as Python 64-bit is out of support, that it would no longer be part of the workload.
However when I tried to get the workoad...
When can we use the new ui😭
Do you have any plans to update Microsoft.WinForms.Designer.SDK nuget package? We are looking for this SDK.