Special Offer: My C#/.NET Bootcamp Course is out now. Get 10% OFF using the code FRIENDS10.

Today, I want to quickly review the new features of Visual Studio 2022 version 17.6, which was released a few days ago.

Performance Enhancements

As with every update, we get performance improvements.

This time, the focus is faster solution opening and closing for large solutions. 

The data provided in the What’s New dialog shows the loading time for the Chromium solution containing 11 thousand projects. Closing a solution is also significantly faster.

Git History inside Visual Studio also got up to 42% faster.

All-In-One Search UI Updates

The All-in-One Search got introduced in version 17.5. With 17.6, we get user interface changes based on user feedback.

  • Results take more vertical space and are easier to read.
  • The window size and location are saved and restored when you close and reopen Visual Studio.
  • The default preview layout is set to the bottom.

Remember, the All-in-One Search is still a preview feature. You need to turn on the “New Visual Studio Search experience” option in the Visual Studio settings to use it.

Editor Sticky Scroll updates

Sticky scrolling allows you to see the method signature of the code within large methods. You can enable it in the text editor options.

I quickly tested it but didn’t like it so far. I have to admit that the code I usually deal with doesn’t have long methods, and I feel comfortable navigating it without sticky scrolling.

However, maybe this feature is a game changer for you. Give it a try.

To enable the feature, you need to toggle the checkbox “Group the current scopes within a scrollable region of the editor window” in the settings: “Tools – Options – Text Editor – General  – Sticky scroll”.

Brace pair colorization

I’ve seen many developers using Visual Studio Code using brace pair colorization. It’s now optionally available in Visual Studio too.

However, I tested it, and it wasn’t for me. Maybe I’m just not used to it, but I don’t like having different colors for semantically the same thing.

I noticed a small bug. If you enable it in the option, it’s immediately active. However, if you disable it, you need to restart Visual Studio to get rid of it.

To enable or disable the feature, you can enable the following setting: Tools – Options – Text Editor and search for the “Enable brace pair colorization” checkbox.

Spell Checker

We can now use the Spell Checker for all Visual Studio editions. I think it was previously only available in the Enterprise edition, but I’m not sure about that.

It is one of the features of this update that I’m going to use. I don’t think it eats a lot of performance, and I don’t like misspelled words in my code.

You can enable the Spell Checker in the Settings: Edit – Advanced – Toggle Text Spell Checker.

Breakpoint Groups

With Breakpoint Groups, we can group multiple breakpoints and organize them using custom names.

It’s a small helper tool that might be helpful for long and complicated debugging sessions.

The feature is integrated into the Breakpoints window and you cannot disable it.

Instrumentation Profiling tool for C++

The Visual Studio instrumentation tool now supports C++ code, providing improved performance analysis.

I’m not a C++ developer. Let me know in the comments whether it’s a game-changer for you.

Profiler live graph for .NET on WSL

The .NET profiler now also supports live graphs for .NET object allocation, CPU usage, and more for .NET applications running on the Windows Subsystem for Linux.

Git Line Unstaging

Apparently, you can stage single lines using the internal Git tooling. Now, you can also unstage changes.

I haven’t used the internal Visual Studio Git client, so I cannot judge this new feature.

GitHub issues integration

We can now reference pull requests and GitHub issues using the hashtag or pound (#) symbol.

Features like this make me want to try the internal Git client in the future. If you have tried it or are using it, please let me know whether you like it or not and if it’s worth trying.

Commit During Build

The last update regarding the internal Git client is that it now allows staging and committing code changes while a build is running in the background.

Again, this hasn’t been an issue for me because I am using an external Git client.

IntelliCode API Usage Examples for C#

IntelliCode now offers the option to show code examples for a specific method.

It shows how the method has been used and from which public repository the example was taken.

You get the source code and the information from what repository it was taken.

I haven’t tried it myself, but I can see this feature being valuable.

Visualizer Support for .NET remote debugging

The IEnumerable and DataSet visualizers are now available when debugging .NET on Unix via SSH, Docker, or WSL.

JavaScript and TypeScript Syntax Highlighting Upgrade

JavaScript and TypeScript syntax highlighting got improved. I use Visual Studio Code when working with JavaScript and TypeScript, and I don’t think I will switch to Visual Studio.

However, if you are developing JavaScript or TypeScript in Visual Studio, this update will provide better syntax highlighting.

JavaScript and TypeScript Code Lens Available

Besides the syntax highlighting update, you can now use Code Lens for JavaScript and TypeScript code.

I believe Visual Studio Code has a similar feature out of the box, and I will continue using Visual Studio Code for JavaScript and TypeScript development.

Create C++ Member Function

This update brings new code generation quick fixes to C++ code. 

As previously stated, I’m not a C++ developer, but handy quick fixes that save you from typing code are always welcome.

Unreal Engine Log Viewer

You can now view Unreal Engine logs without leaving Visual Studio. If you are a game developer using the Unreal Engine, I’m sure this feature is helpful to you.

Since it’s a preview feature, you need to enable it in the settings.

HLSL Tools Extension by Tim Jones

High-Level Shading Language (HLSL) is specific to DirectX development. With this update, a popular extension by Tim Jones is now available as part of Visual Studio.

If there are any game developers watching this video, please raise your hand in the comments.

Remote File Explorer for Unix

You can now use the Remote File Explorer for Unix to connect to remote machines listed in the Connection Manager.

You can browse, upload, and download files from and to remote machines.

CMake Debugger

The new CMake Debugger allows you to debug your CMakeLists.txt file for any CMake project within Visual Studio.

Import C or C++ embedded STM32CubeIDE

You can now import STM32CubeIDE projects for embedded development within Visual Studio.

Android Manifest Editor

The Android Manifest Editor is a visual tool that allows you to edit Android manifest files.

I’m sure it’s helpful as it provides many options as dropdown fields you previously had to look up in the Android documentation.

.NET MAUI Tooling for ARM64 Devices

The Tooling for ARM64 devices for .NET MAUI development is now available as a preview.

Developer Community Suggestions

ARM64 support for .NET MAUI was one of the community-requested features that made it into Visual Studio 2022 version 17.6.

If you have any suggestions or feedback, provide it using the link above.

Conclusion

Going through all of the new Visual Studio features made me realize that Visual Studio is so much more than a C# IDE.

As a .NET developer, I usually don’t think about C/C++, JavaScript, TypeScript, or embedded development.

For me, this update isn’t as big of a deal as it was with 17.5. However, performance enhancements are always welcome. I also like the updates to the All-in-One Search and the Spell Checker.

I don’t see value in the sticky scroll option, the brace pair colorization, or breakpoint groups. However, those features might be helpful to other developers.

Let me know in the comments what features you like the most.

If you want to learn more about .NET development, consider subscribing to my YouTube channel, and I will see you in the next video or article.

 

Claudio Bernasconi

I'm an enthusiastic Software Engineer with a passion for teaching .NET development on YouTube, writing articles about my journey on my blog, and making people smile.