ReSharper
 
Get ReSharper
Get your hands on the new features ahead of the release by joining the Early Access Program for ReSharper 2025.1! Learn more

What's new in ReSharper 2023.2

Last modified: 03 August 2023
  • C#12 preview support: primary constructors support for non-record classes and structs.

  • AI Assistant.

  • Predictive debugger.

  • 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, implicit return or continue 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, static operator() and operator[], and C++23 standard library modules.

    • C++20 support: [[no_unique_address]] attribute, implementation of C++20 defect report for char8_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.