What’s New in ReSharper C++ 2025.2

ReSharper C++ 2025.2 adds support for an initial set of language features from the recently finalized C++26 standard. You can now easily edit code inside #if-ed out blocks with coding assistance features fully available to help you, without having to switch your active build configuration. This release also brings the first public preview of the long-awaited Out-of-Process mode that moves most of ReSharper's work to a separate process.

Language features

ReSharper C++ 2025.2 starts our work on supporting the recently finalized C++26 language standard. The latest release includes support for the following new C++ features:

  • Variadic friends: grant friendship to all classes in a template parameter pack.
  • Placeholder variables: name variables with _ to implicitly apply the [[maybe_unused]] attribute.
  • = delete("reason"): add an optional message to deleted functions for better error diagnostics.
  • Attributes for structured bindings: specify attributes for individual structured bindings, not just for the entire declaration.

For C developers, ReSharper C++ adds support for C11 _Atomic types, as well as _BitInt(N) and suffixes for decimal floating point types from the C23 standard.

Working with inactive code

If you develop for multiple platforms or write complex shaders, you know the frustration of trying to edit code that's inactive in your current build configuration. With ReSharper C++ 2025.2, that frustration is a thing of the past.

We’ve fundamentally improved how ReSharper handles code in #if-ed out blocks. Now, the full suite of coding assistance features is available in inactive preprocessor blocks. Refactor, navigate, and edit code across different platforms or build configurations, without needing to stop and switch your project settings.

Out-of-Process mode Public Preview

We’re thrilled to announce that ReSharper 2025.2 is the first stable release to include support for running ReSharper out of process with Microsoft Visual Studio. This long-anticipated architectural change lays the foundation for better stability and performance in the future, as it decouples the ReSharper process from the Visual Studio one.

To switch to Out-of-Process mode, go to ReSharper | Options | Environment | Products & Features and select the Run ReSharper in separate process option. Click the Save and restart button to apply the changes and reinitialize ReSharper without having to restart the IDE.

Coding assistance

A new color category is now available for highlighting identifiers that refer to global constants, making them visually distinguishable from normal variables.

ReSharper C++ 2025.2 understands variable references in OpenMP #pragma directives. This means that these references are now supported by navigation features, detected by Find Usages, and updated during the Rename refactoring.

Parameter info now correctly shows function signatures when invoked on a function call inside a macro argument.

The inspections about the usage of the typename keyword have been updated to support the changes in the C++20 standard. Additionally, code generation and documentation actions now correctly handle the C++23 deduced this parameter.

Syntax style

You can now automatically sort definitions in a source file to match the declaration order from the header. For a one-time sort, use the new Sort definitions by the order of declaration context action on a particular function, a file, or the entire project. For ongoing enforcement, enable the corresponding syntax style setting. ReSharper C++ will then warn you about any mismatches with an inspection and sort definitions during Code Cleanup.

We've enhanced the C++ naming inspection with two updates. First, you can now define a specific naming style for variables that hold a lambda. Second, class template argument deduction guides are now correctly validated against the naming rules you've set for classes and structs.

A new formatter setting lets you configure spaces before the colon in a constructor initializer.

Navigation

The Find Usages window now classifies calls of non-const member functions as read-write usages, which should help you separate read-only and modifying operations.

To improve readability, the File Structure window adds syntax highlighting for keywords and identifiers.

You can now Ctrl+click on a virtual keyword to quickly navigate to the overriding functions, similar to how a Ctrl+click on override jumps to the base function.

Inlay hints

Element indices hints are now available for arguments of the std::initializer_list type, in addition to arrays. You can configure them on the ReSharper | Options | Environment | Inlay Hints | C/C++ | Aggregate Initialization settings page.

Inplace refactorings now appear via inlay hints, making them easier to discover and consistent with JetBrains IDEs. You can configure their appearance under ReSharper | Options | Environment | Editor | Appearance.

Unreal Engine

ReSharper C++’s support for showing where your code is being used inside Blueprints has been extended to support Blueprints that implement a UINTERFACE.

We’ve added code completion for method names in BlueprintGetter and BlueprintSetter metadata.

If you’re interested in a standalone cross-platform IDE for Unreal Engine development, consider Rider. The Unreal Engine support in Rider and ReSharper C++ is aligned, and you can expect the same improvements in the Rider 2025.2 update.

Visual Studio integration

ReSharper C++ now integrates with Visual Studio's native step filtering. As a result, the C++ debugger will now honor the stepping rules that you've defined in *.natstepfilter configuration files.

ReSharper C++ now uses the 64-bit version of MSBuild by default in Visual Studio 2022 to read the project model. This resolves reliability issues when loading massive projects, particularly in solutions using Unreal Engine 5.6.

You can now use ReSharper C++’s features in source files that are not included in any build target in CMake and Open Folder projects. These files are still excluded from code indexing due to performance considerations.

Take a look at the What's New in ReSharper page to learn about all the other changes introduced in this release.