What’s New in ReSharper 2024.3

ReSharper 2024.3 introduces comprehensive support for C# 13 features, including params collections, partial properties, a new lock type, and the field keyword. The update enhances code cleanup with improved performance and flexible formatting options and adds more precise naming conventions. Multiline To-do comments and tooltip colorization improve code readability and organization. C++ support has been bolstered with new features for Unreal Engine development, alongside improvements to performance and Clang interoperability.

Download

Free 30-day trial available

C# support

C# 13 updates

With its latest release, ReSharper introduces support for the latest features that come with C# 13, namely:

  • New params collections: The params keyword has been expanded to work with various collection types, allowing for more efficient method signatures without additional allocations.
  • Partial properties: Support has been added for partial properties, enabling you to spread property accessor implementations across multiple files, increasing flexibility and organization in your codebase.
  • New lock type: The new System.Threading.Lock type has been introduced for more efficient thread synchronization, improving performance over the traditional lock statement.
  • Overload resolution priority: A new attribute is available, providing better control of method overload resolution and allowing developers to prioritize which overload gets called in complex scenarios.
  • field keyword: The preview feature has been added to the field keyword. This gives direct access to the backing field of auto-properties, simplifying property logic.

Learn all about the support of C#13 features in ReSharper and Rider on our blog.

Code styles and cleanup

Code cleanup

In ReSharper 2024.3, code cleanup has been re-engineered for more robust performance. It now leverages the same engine as scoped quick-fixes, ensuring thorough issue resolution and enhancing analyzer precision. Parallel preprocessing has also been added to optimize file handling. Furthermore, you can now select the code cleanup profile per file or skip cleanup on specific files.

Code formatting

There are new formatting options to give you even more flexibility:

  • A new option to control wrapping around an equal = operator.
  • A new Indent ‘break’ from ‘case’ option.
  • A new Treat ‘case’ statements with ‘break’ as simple option.

Naming styles

We’ve added a couple of new options to adjust naming rules more precisely.

  • Local functions now come with two options: Local functions with ‘async’ and Task-returning local functions (not ‘async’).
  • Methods have been given a new Task-returning method (not ‘async’) option to support methods with an async suffix in the name that aren’t marked with an async modifier but return a Task-like type. This is helpful when you declare a method in an interface where you aren’t allowed to use an async modifier, but which will return a Task type in implementation.

Code comments

Multiline To-do comments support

ReSharper 2024.3 now supports multiline To-do comments, allowing indented text on subsequent lines to be treated as part of the same To-do item. This enhancement makes it easier to group related notes and tasks together in your codebase. You can now add context to your To-dos across multiple lines, improving readability and organization.

Additionally, we’ve updated the Peek To-do link (Ctrl+Shift+click) action that lets you look up an external issue associated with a To-do item inline. It now uses a modern web browser engine to give you a better rendering experience.

User experience

Tooltip colorization

For this release, we reviewed almost all C# error, warning, and informal messages and introduced text colorization wherever possible.

Approximately 600 messages were updated with tooltips that offer a more intuitive reading experience, with the included code elements highlighted in the editor's familiar color scheme.

C++ support

ReSharper 2024.3 includes several improvements to C++ support:

  • Improved performance in large solutions.
  • The Move to Folder refactoring for C++ files.
  • Support for new C++23, C23, and GNU language features.
  • New code assistance features for Unreal Engine developers.
  • Enhanced interoperability with Clang tooling.

Learn more about the C++ updates from the What’s New in ReSharper C++ 2024.3 page.

Decompiler

IL code for assembly manifest

The IL Viewer tool window now provides IL code for assembly manifest, including:

  • Assembly and module info such as name, custom attributes, etc.
  • Referenced assemblies and modules.
  • Forwarded types.
  • A list of files and resources.

This IL code is shown when the caret in the text editor is on an assembly or module attribute or somewhere inside an <AssemblyName>.cs file for external assemblies.

Support for primary constructors

When working with classes that declare a primary constructor, the decompiler will now display the constructor and its parameters correctly, giving you a complete view of how objects are instantiated directly from the decompiled code.

Download

Free 30-day trial available