.NET Tools Releases ReSharper Platform

ReSharper 2022.3 Released With More C# 11 Features, NuGet Vulnerabilities Detection, and Support for Visual Studio ARM64.

Hello everyone,

ReSharper 2022.3 and other JetBrains .NET tools have just been released. In this article we’re going to go over the highlights of this major update for ReSharper as well as touch on the features coming to ReSharper C++. To learn more about our other .NET tools, including dotCover, dotMemory, dotPeek, and dotTrace, please check out this separate blog post.

Now let’s get started!

C# support

C#11 features

With our latest release we’re are finalizing basic support for the latest C# 11 features, starting with UTF-8 literals. The code analysis now suggests using a u8 suffix for a literal instead of the System.Text.Encoding.UTF8.GetBytes() method or a byte array with proper UTF8 symbols. There is also a set of compiler warnings and errors for UTF-8 literals.

UTF-8 literals in ReSharper

ReSharper’s basic support for file-local types includes an understanding of the new syntax, a file accessibility modifier for types, and compiler warnings and errors with corresponding quick-fixes.

ReSharper 2022.3 will now let you use abstract and virtual modifiers for static members in interfaces and use such members in generic code with type parameters constrained by this interface.

ReSharper can now convert regular and verbatim strings into their raw counterparts. This also means that numerous existing features for strings are now available for raw strings.

Raw strings

Other ReSharper adoptions from C#11 include the option to declare ref fields inside ref structs and the recognition of a new scoped keyword.

Language injections

The ReSharper 2022.3 release handles language injections better. Language injections now work inside C# 11 raw string literals. ReSharper also supports the [StringSyntax] attribute from .NET 7, along with its different syntaxes for language injection and code completion.

Global imports gutter mark

A new gutter mark icon was introduced to notify developers about implicit namespace imports in C# and Razor files. ReSharper also presents global imports from _Imports.razor and allows navigation to corresponding import definitions.

Global imports gutter mark

Learn more

Vulnerable dependencies detection

When you use open-source NuGet packages, you risk exposing your project to security vulnerabilities. To mitigate this risk, ReSharper has introduced detection of vulnerable dependencies. Starting with this release, any affected dependencies will be highlighted in .csproj and .vbproj files.

Support for Visual Studio on ARM64

ReSharper can now be integrated into Microsoft’s Visual Studio on ARM-powered devices. We provide initial support for all basic development workflows except spell-checking with ReSpeller. In addition, dotPeek, dotMemory, dotTrace, and dotCover, as well as ReSharper command-line tools, will now also support Windows ARM64.

Database inspections from DPA

Dynamic Program Analysis (DPA) has new inspections that let you find various issues related to database usage, like long command execution times, too many database connections, too many simultaneously executed database commands, or commands returning too many records.

The new inspections are available for all applications that use Entity Framework Core and a .NET data provider for SQL Server.

C++ support

ReSharper C++ adds experimental support for C++20 modules. We’ve updated the language engine and many of the ReSharper C++ features to work with the new compilation model, supporting both named modules and header units.

Among other improvements, ReSharper C++ 2022.3 provides seamless integration with clang-format as an alternative code formatter and brings new Blueprint-specific inlay hints for Unreal Engine projects. For more details, please see this dedicated blog post.

Other notable updates

  • The embedded decompiler in ReSharper 2022.3 comes with improved support for C#11 features.
  • The IL Viewer tool window is now able to decompile code into high-level and low-level C#.
  • ReSharper now allows you to import and export type and project dependency diagrams in the GraphML format.

For more information about all these and tons of other features, please visit the What’s New in ReSharper 2022.3 page.

You can download the release build from the ReSharper 2022.3 page or install it using the JetBrains Toolbox App. We appreciate any feedback you have about the new features!

image description