.NET Tools
Essential productivity kit for .NET and game developers
ReSharper 2024.3 Starts its Early Access Program!
Say hello to the first build of ReSharper 2024.3 Early Access Program! This build is mostly about improving C++ support, but it still has something new for C# developers as well. Let’s have a look!
ReSharper
Code Cleanup
Now you can substitute a default Code Cleanup profile with another one for particular files via .editorconfig
files as well as specify files you want to omit from code cleanup. (RSRP-493872).
[fullToReformat.cs]
resharper_substitution_for_cleanup_profile.icanwriteanythinghere=Built-in: Full Cleanup => Built-in: Reformat Code
[anyToReformat.cs]
resharper_substitution_for_cleanup_profile=* => Built-in: Reformat Code
[fullToSkip.cs]
resharper_substitution_for_cleanup_profile=Built-in: Full Cleanup => skip
[anyToSkip.cs]
resharper_substitution_for_cleanup_profile=* => Skip
Naming Styles
We’ve added a couple of new options to adjust naming rules more precisely.
- Local functions now have Local functions with ‘async’ and Task-returning local functions (not ‘async’) options to choose from (RSRP-493613).
- Methods got a new Task-returning method (not ‘async’) option to support methods with an
Async
suffix in the name that aren’t marked with anasync
modifier but return aTask
-like type (RSRP-482529). This is helpful when you declare a method in an interface where you aren’t allowed to use anasync
modifier, but which will return aTask
type in implementation.
Another new option is Warn about using prefixes and suffixes from this rule in unrelated identifiers (RSRP-485170). In previous versions, if you specified an Async
suffix in a Methods rule, and if no Properties rule had this as a suffix, ReSharper would complain about a property with an Async
in the name. In other words, ReSharper prohibited you from using this suffix in entities other than methods. Starting from the 2024.3 EAP, you can disable this option in the Methods rule, and ReSharper stops complaining about property names with these kinds of suffixes.
Formatting
There are new formatting options to give you even more flexibility:
- A new option to control wrapping around an equal
=
operator (RSRP-491099). - A new option Indent ‘break’ from ‘case‘ (RSRP-478502).
- A new option Treat ‘case’ statements with ‘break’ as simple (RSRP-469180).
ReSharper C++
The first EAP build brings several notable updates to C++ support.
- The Move to Folder refactoring now also handles C++ files.
- Support for literal suffix for
size_t
and attributes on lambda expressions from C++23, the C23typeof
andtypeof_unqual
operators, and the C++17std::has_unique_object_representations
type trait. - A number of improvements for users of the C++20 ranges library.
- Support for
// clang-format off/on
comments to disable or enable code formatting. - Typing assist to automatically insert a space between control flow keywords and the opening parenthesis.
- Built-in live templates to generate
UE_LOG
andUE_LOGFMT
logging statements. - An option to use XML documentation instead of Doxygen.
For more details on the ReSharper C++ updates, see the dedicated blog post.
That’s it for today! You can find the full list of features and fixes on YouTrack.