.NET Tools Early Access Program

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 NOLINTBEGINNOLINTEND.

For the full list of changes, please refer to our issue tracker.

image description

Discover more