ReSharper 2023.3 offers support for the latest features from C# 12. Also included are brand new Entity Relationship Diagrams and inspections for Entity-Related issues. This update brings several major improvements to performance, including optimized background code analysis and the ability to control the amount of resources allocated to code analysis. The release of ReSharper 2023.3 is also enhanced by a major update to AI Assistant.
Free 30-day trial available
JetBrains AI Assistant is now generally available with a number of new and improved features to increase your productivity. The latest set of improvements for ReSharper includes:
Use AI Assistant in ReSharper as a supplemental feature with a JetBrains AI Service subscription.
With its latest release, ReSharper extends the list of supported C# 12 features, namely primary constructors, alias directives to reference any kind of type, collection expressions, interceptors, and others.
Check out this blog post to dive into the latest updates to C# support introduced in ReSharper and Rider 2023.3.
ReSharper 2023.3 can now recognize and facilitate more scenarios where code analysis services can operate incrementally when interrupted by typing. This improvement is particularly beneficial for handling large files.
The latest update also puts you in control of the amount of resources to be allocated to solution-wide code analysis. You can now choose between Low, Moderate, and High modes of resource utilization.
Despite its name, the High mode is designed to not interfere with typing in the editor and does not degrade the IDE’s responsiveness. It gradually starts increasing the CPU usage only when code analysis is being interrupted by the code typing, maintaining a smooth typing experience all while solution-wide analysis is processing the source code in the background.
Finding usages of types and constructors is now faster for solutions with numerous
target-typed object creations (e.g. SomeType _field = new()
). This
improvement also positively affects refactoring speed.
We’ve also fixed some issues associated with handling injected languages, which used to cause increased CPU usage.
We've revamped the user experience for the Extract local function refactoring. In the past, selecting a location for the new function from the list of available options was challenging, and it wasn't clear what would be affected by that choice.
With the updated UX, you'll now see a preview of the new function's signature directly in the code editor. This makes it easy to understand precisely where it will be inserted and how your choice will impact the introduced function. You can also see which variables will be transformed into parameters rather than closures and which other functions will be relocated to allow calls at the new location.
Visual Studio and ReSharper’s quick actions can complement each other well when used discerningly. With ReSharper 2023.3, you can easily leverage the power of both systems. You can now tweak the settings to either use ReSharper’s quick actions exclusively, display suggestion icons for both, or invoke all quick actions from a single access point – ReSharper’s bulb menu.
ReSharper 2023.3 introduces access keys for the Copy Code Reference action. Each code reference type in the context menu can now be selected with a single keystroke.
In ReSharper C++ 2023.3, working with inactive code has become much easier. Code completion in currently inactive code blocks inside conditional preprocessor branches now suggests symbols from the global scope. Find Usages also got an update and now shows possible usages in inactive code and macro bodies in the dedicated results sections.
Learn more about the C++ updates: What’s New in ReSharper C++ 2023.3
ReSharper 2023.3 introduces a new formatting engine for Razor. It’s compatible with ReSharper’s current C# formatter, thus supporting C# language constructs introduced in recent years and most of ReSharper's new formatting options for C#. The new formatter also operates faster and is expected to have fewer issues. However, it does modify the default formatting for some code. Therefore, we have introduced an option to revert to the old formatting engine for Razor. You can find it in ReSharper’s Options under Code Editing | Razor | Code Style.
ReSharper 2023.3 brings new inspections for usages of methods in Entity Framework-related code that could potentially produce runtime exceptions.
The two cases covered by these new inspections are:
This release introduces entity relationship diagrams (ERDs). ERDs in ReSharper provide a graphic representation of the database model, the relationships between entities, as well as database model analysis insights.
Entity Framework-specific analyses in ReSharper 2023.3 will inspect your code for potential issues in the EF model, such as unlimited string property length and dependency loops. If you then invoke a context menu on such an inspection and select Show Entity Relationship Diagram, you’ll be able to investigate the issue visually.
Check out this blog post to learn more about visualizing Entity Framework relationships and the new inspections.
Our previous release introduced the ability to easily create unit tests. The latest update to AI Assistant inside ReSharper 2023.3 gives you the option to generate the code inside unit tests, leveraging the power of LLMs.
JetBrains Grazie has become ReSharper’s new built-in grammar and spelling checker. Grazie supports over 20 languages and catches natural language errors within programming languages supported by ReSharper (C#, C++, VB.NET), markup languages (HTML, XML, XAML), and comments. To add other natural languages to Grazie, go to Options | Grammar and Spelling | General in ReSharper.
For a long time, if you wanted to run ReSharper Code Analysis outside of an IDE on your CI/CD server, you only had one option – the InspectCode tool from ReSharper Command Line Tools. Recently, Qodana has made its first steps into our lineup of .NET tools and launched the Early Access Program for Qodana Community linter for .NET.
Though Qodana is based on the same static code analysis engine as ReSharper, it offers several additional benefits:
Additionally, paid Qodana linters for .NET will allow for running third-party license audits, analyzing code coverage, and detecting vulnerable dependencies.
We will not discontinue the ReSharper Command Line Tools, but from now on, the Qodana Community linter for .NET will be the preferred way to run ReSharper analysis outside of the IDE.
The Assembly diff functionality introduced with the previous release is now
able to compare NuGet packages, folders, and .zip
files.
The ability to compare assemblies now has more comparison options. You can choose between several diff modes (Show all, Show only differences, Show only signature differences, Show only public API differences). Additionally, you can specify if you’d like the Diff to ignore member/attribute order differences, as well as differences in nullable reference types’ annotations.
#nullable disable
directives are shown in decompiled sources.
Dynamic Program Analysis has received three new inspections for applications targeting the ASP.NET Core framework. These inspections are designed to alert you to potential backend performance issues that could make your application less responsive.
Rider 2023.3 brings a new security inspection feature designed to make published vulnerabilities more apparent and easier to understand.
The new inspections identify vulnerable NuGet packages in your project and highlight instances where vulnerable methods from these libraries are used in your code. If a vulnerability is detected, the system highlights the problematic code and offers quick actions to remedy it. These actions include recommending an update to a newer package version and offering in-depth information about the detected vulnerabilities.
Free 30-day trial available