Visual Studio 2022 17.7 Preview 2 is here!

Taysser Gherfal

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:

Area Enhancements
IDE Productivity & Performance
.NET development
Modern C++ and game development
C++ Cross-platform & embedded development
JavaScript & Typescript development
Enterprise management

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

Image Improved File Comparisons
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.

Image Create a Pull Request
Create a Pull Request from Visual Studio

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.

Image Enhanced Multi branch Graph
Multi-branch Graph & Git Repository Improvements

Continue to share your feedback on this feature here.

Parallel Stack Filtering

Image Parallel Stack Filtering
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.

Image Enhanced F5 Speed

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.

Image C Unreal Engine IntelliSense Optimization

 

.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.

Image Auto decompilation
Auto-decompilation for External .NET Code

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.

Image New Auto Insights for the CPU Usage tool
New Auto Insights for the CPU Usage Tool

 

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.

Image Build Insights in Visual Studio C
Build Insights Entry Point

Start your Build Insights .etl trace capture with a click of a button for your solution or projects.

Image Build Insights
Build Insights Trace Capture

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.

Image Unreal Engine Blueprint Find All References
Find All Blueprint References Entry Point

Image Find All Blueprint References
Unreal Engine Blueprint Find All References

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.”

Image Improved Doxygen overload resolution
Doxygen Overload Resolution Improvement

 

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

Image Updates for the Remote File Explorer
Updates for the Remote File Explorer

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.

Image File Explorer toolbar
File Explorer Toolbar Updates

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.

Image WSL Automatic Acquisition
Gold Bar to Start the WSL Installation Process

Additionally, you can open the dialog by navigation to Project > Install WSL For Me.

Image Install WSL For Me
Installing WSL from the Project Menu

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.

Image WSL Installation Guide
WSL Installation Guide

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.

8 comments

Discussion is closed. Login to edit/delete existing comments.

Feedback usabilla icon