What's new in ReSharper 2023.2
C#12 preview support: primary constructors support for non-record classes and structs.
Interactive debugger adornments for intermediate results in LINQ expressions.
New code inspections with corresponding quick-fixes to report and fix: redundant nullable directive, return of a variable captured by 'using' statement, return of a task produced by 'using'-captured object, conflict of the discard and a variable named
_
.New inlay hints in C# for component names of tuples and deconstruction patterns, discard type names, description of warnings disabled or restored with
#pragma
, implicitreturn
orcontinue
created by a local function at the end of a block.Improved navigation from the
var
to possible underlying types.Improved support of raw strings (new code inspections, quick-fixes, context actions, and typing assistance)
New code inspections and navigation actions in Entity-Framework-related contexts.
Ability to generate unit test stubs for classes and to navigate between tests and tested code.
Ability to compare two assemblies.
New features in C++:
Safe Delete refactoring.
C++23 support:
if consteval
, staticoperator()
andoperator[]
, and C++23 standard library modules.C++20 support:
[[no_unique_address]]
attribute, implementation of C++20 defect report forchar8_t
, and polished modules support, including recognizing.cppm
files as module interfaces and experimental support for modules located outside the project folder.Unreal Engine: performance improvements for indexing Blueprints, smart completion for wrapper types with standard assignment semantics, and support for the
UE_INLINE_GENERATED_CPP_BY_NAME
macro.New inspections: Redundant dereferencing and taking address, Redundant template arguments, ISO C++ forbids forward
enum
declarations without underlying type.Improved code completion when the type is restricted by a concept or a trait.
Gutter marks for recursive calls.
More consistent and straightforward Go to Declaration.
Updated bundled clang-tidy and clang-format binaries.
Context actions to move a template parameter constraint to the
requires
-clause and vice versa.Improved compatibility with GCC and Clang compilers and libc++/libstdc++ standard libraries.