ReSharper 2022.1 Released

.NET Tools
News
Releases

Hello everyone,

ReSharper 2022.1 is now available! As promised during the first EAP, we have focused on quality, bug fixes, and diagnostics improvements in this version. We will still need to concentrate some of our efforts on C# support but, in general, this release cycle will be about fixing bugs. Let’s go through the most important updates.

ReSharper

C# support

  • We have two new refactorings for global usings, Extract Global Using and Inline Global Using, with Find Usages support for this feature.
  • For nullable reference types, we’ve split the “should never be null” warning into two categories: one for those who look at NRT annotation and one for those who have a runtime check for null. We’ve also added a setting to enable runtime enforced not null warnings only, and supported [MemberNotNull] and [MemberNotNullWhen] annotations.
  • We’ve implemented generic attributes support for C#11.

Features

  • For Endpoints, we now provide support for ASP.NET Core 6 minimal APIs and convention-based routing.
  • For Razor and Blazor, local functions inside Razor are now treated correctly, and we’ve added navigation through base and derived symbols for Razor code.
  • In formatting tools, we’ve condensed the Format selection, Cleanup selection, and Apply syntax style actions into one Reformat and Cleanup item. We hope it looks tidier and provides a better UX as a single entry point.

Performance

Decompiler

  • XML doc comments are now available for platform assemblies, including assemblies with names different from the names of the XML documentation files.
  • The Assembly Explorer now supports forwarded types, as does the Locate in Metadata action.

Bug fixes

Here is the full list of bug fixes. Our favorites were the “Massive file system change” problem, several cases of code analysis breaking after switching the Git branches, and some trouble with partial open generic types in typeof. The oldest bug that was fixed in this release was first filed fifteen years ago. We’re not sure what to say about that, but it’s interesting to share.

ReSharper C++

  • For Unreal Engine, we’ve implemented support for UE unit tests.
  • For C++ support, we’ve improved the handling of implicit constructor calls.

For more details, please see this dedicated blog post.

dotTrace, dotCover, and dotMemory

  • dotTrace now supports SQL Server events from the Microsoft.Data.SqlClient provider on Windows from .NET Core and .NET 5 and later.
  • You can now use drag and drop to attach to a running application.
  • In dotCover, you can now mark your code as “not coverable”.

Find more information in the blog post about the dotTools.

You can download the release build right now from the ReSharper 2022.1 page or install it using the JetBrains Toolbox App. As always, we would appreciate any feedback you have about the new features.