.NET Tools
Essential productivity kit for .NET and game developers
ReSharper 2024.1 EAP 7: Updates to C# and C++ Support
The ReSharper 2024.1 EAP 7 build has just been released and is ready for you to download!
This build contains several improvements to C# and C++ support. Let’s take a look!
C# support
You will get suggestions to convert more code constructions in your source code to collection expressions from C# 12, such as an empty array or the ImmutableArray
declaration and initialization.

There is a new Possible ‘System.InvalidOperationException’: Collection was modified inspection which will warn you when a collection was modified while iterating inside foreach
loops, since this modification might lead to an exception in runtime. The inspection comes with a corresponding quick-fix to help you solve this issue instantly.

Generate | Formatting Members allows you to generate boilerplate code to override the ToString() method and return a meaningful string for your types. Now, this feature supports more types, such as ISpanFormattable, IUtf8SpanFormattable
, and IFormattable
.
Code analysis now provides support for the ProtoContract
attribute and ImplicitFields
enum from the protobuf-net library. These can be used to mark members that are implicitly used for serialization. As a result, such members are no longer flagged with unused members warnings.
C++ support
ReSharper’s Call Tracking now supports navigation through outgoing C++ call chains, alongside the existing support for tracking incoming calls. To explore outgoing calls, place the caret at any function and select ReSharper | Inspect | Outgoing calls
from the context menu.

To suppress an inspection in a specific scope, you can additionally use comments from Clang-Tidy: NOLINT
, NOLINTNEXTLINE
, and NOLINTBEGIN
… NOLINTEND
.
For the full list of changes, please refer to our issue tracker.