What's new in ReSharper 2024.2
Initial support of C# 13.
A number of improvements of AI Assistant, including AI code completion, exception explanation, and custom global prompt.
Ability to change the user interface language to Chinese, Japanese, or Korean.
Preview of different cultures for
ToString()
format specifiers.Integrated decompiler improvements:
Decompiler: default and params lambda parameters (C#12: Lambda optional and parameter-array parameters)
Decompiler: attributes on lambdas
Ability to decompile protected assemblies and ignore the
[SuppressIldasm]
attributeSupport of PDBs containing both SrcSrv and SourceLink
Get preprocessor directives (like
NET6_0_OR_GREATER
) for external source files from the target framework of associated assembly or from Portable PDB of associated assemblyAssembly Explorer: assembly build configuration detection and presentation
Ability to open the source code of the corresponding repository in the Web browser, for example, on GitHub.
New features in C++:
C++23 support: multidimensional subscript operator, the
#elifdef
and#elifndef
C++23/C23 preprocessor directives, and the[[assume(<expr>)]]
attribute.Unreal Engine: support for struct traits, inspections for usages of
IOnlineSubsystem::Get ()
and missing calls to base methods.Type layout in quick info tooltips.
Improvements to the Rename refactoring.
Support for include-what-you-use pragmas.
The bundled Clang-Tidy binary has been updated to Clang 18.
New code inspections in 2024.2
New inspections in C#
Cast expression can be replaced with explicit type arguments
Cast expression can be replaced with simplified type arguments
Possibly wrong string comparison: spans are only equal when pointing to the same memory location
Struct lacks 'IEquatable' implementation (non-private accessibility)
Struct lacks 'IEquatable' implementation (private accessibility)
Struct with default equality members is used for comparison (non-private accessibility)
Struct with default equality members is used for comparison (private accessibility)
Type with suspicious equality is used in a record (non-private accessibility)
Type with suspicious equality is used in a record (private accessibility)
New inspections in VB.NET
Struct lacks 'IEquatable' implementation (non-private accessibility)
Struct lacks 'IEquatable' implementation (private accessibility)
Struct with default equality members is used for comparison (non-private accessibility)
Struct with default equality members is used for comparison (private accessibility)
Type with suspicious equality is used in a record (non-private accessibility)
Type with suspicious equality is used in a record (private accessibility)
New inspections in Razor
Unknown HTML tag, may be a component