News

Visual Studio 2022 v17.7 Ships, Addressing a Top Longstanding Feature Request

Microsoft shipped Visual Studio 2022 v17.7 with a raft of new functionality, fixes and features, including some that have been in the making for years.

"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," Microsoft said in an Aug. 8 announcement. "From novice coders to experienced developers, this update packs a variety of productivity enhancements, performance improvements, and new features to streamline your coding journey."

Proving that "powered by community feedback" claim is this: Among the 24 enhancements deserving their own heading in the big announcement, the very first is a feature request from March 2018 that asked "Is there a way to compare two files from solution explorer?"

Why yes, Andrew Stanton, now there is. In fact, there are two ways to do that:

  • 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.
[Click on image for larger view.] Improved File Comparisons (source: Microsoft).

The file comparison feature was one of the top requests in the Developer Community site Microsoft uses to collect bug reports, feature requests and other feedback, garnering 549 upvotes as of this writing.

Productivity Features
The file comparison feature comes under the "productivity features" section of the announcement. Other work there means devs can now copy code from Visual Studio to other applications with correct indentation, visualize multiple git branches and perform cross-branch operations, create new GitHub Actions workflows from Solution Explorer, and use updated Parallel Stack filtering options (selectively display or hide specific threads or frames) while debugging multithreaded applications.

Performance Improvements
"It has tons of new features and improvements," Microsoft's Mads Kristensen said of the new release in a video. "Performance is always top of mind and we have some fantastic updates for speeding up the F5 experience, file, code and feature searching and a lot more."

To start out, developers can enjoy the increased responsiveness of the All-in-One Search experience that provides more accurate and comprehensive results for their queries.

Other significant performance improvements for various scenarios and workflows include the optimization of Program Database (PDB) files, resulting in faster debugging sessions and project loading times. Yet more speedups include:

  • The F5 path has been optimized, leading to a 5-10 percent improvement in the debugger's startup time and process launch.
  • The Find in Files search time has been reduced by about 50 percent thanks to various optimizations.
  • The C# Spell Checker has been enhanced with a more efficient data structure and streaming support, leading to a 90 percent reduction in the memory footprint of the JSON transferred between the Language Server Protocol (LSP) Server and LSP Client.

.NET Development
For .NET development, highlights include the ability to debug external .NET code with auto-decompilation, which allows devs to see the point of execution, set breakpoints and browse through external files in Solution Explorer. The CPU usage tool now provides more detailed information and insights for certain methods and properties, such as Enum.HasFlag, Enum.ToString, String.StartsWith and so on. Additionally, users can try out a new preview feature that integrates GitHub Copilot chat with the CPU usage tool, which can provide explanations and suggestions for fixing performance issues.

Web Development
In the web-dev space, v17.7 lets developers using ASP.NET see npm packages from the package.json file in the Dependencies node in Solution Explorer, which lets them manage their web solution dependencies in one place. Devs can also use Vite to create new React and Vue projects for JavaScript/TypeScript project templates in Visual Studio, after community feedback indicated devs no longer prefer other ways (create-react-app and the Vue CLI) for creating such projects.

Enterprise Management and Acquisition
For enterprise dev shops, new management and acquisition functionality lets standard users with minimized permissions update and modify the IDE, while rollbacks now preserve all user settings.

C++ and Game Development
C++ and game devs can now use special indentation rules for Unreal Engine macros, get naming convention warnings for symbols that are not conformant to the Unreal Engine coding style, search for references of UFUNCTIONs in Blueprints with the new Blueprint Find All References feature, observe the step-by-step expansion of macros with the new Visualize Macro feature, and use Doxygen comments more effectively with enhanced support for shared comments and unused parameters. Devs can also use newly integrated Build Insights to optimize C++ build times with valuable information.

Linux and Embedded Development with C++
Developers can now more easily install Windows Subsystem for Linux (WSL) with a click of a button from the IDE, which will enable the targeting of Linux platforms with CMake projects. With new search capability for the Remote File Explorer, coders can search for files on remote machines and navigate to their locations based on where they are in the machines.

Release Notes
Along with the announcement post, Microsoft provided much more detailed information in v17.7's release notes.

These notes provide handy summaries of community suggestion votes that further illustrate how the VS dev team is driven by feedback. For example, some top community requests addressed in this release and their votes include:

  • Comparing Files -- 549 votes
  • Multi-branch Git Graph -- 149 votes
  • Build Insights in Visual Studio (C++) -- 141 votes
  • Find in Files Search Improvements -- 122 votes
  • Ability for standard users to update and modify Visual Studio -- 97 votes
  • Copy and Trim Indentation -- 86 votes
  • Auto-decompilation for External .NET Code -- 29 votes
  • Collapse All Descendants for Solution Explorer -- 7 votes

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

Subscribe on YouTube