ReSharper C++ Releases

Learn what's new across releases, with details of features, enhancements, and resolved issues.

Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
ReSharper C++ 2026.2Major versionJul 22, 2026
Features

C++ support

  • C⁠+⁠+⁠26 reflection - ReSharper C⁠+⁠+ 2026.2 introduces initial support for C⁠+⁠+⁠26 reflection. Reflection is widely considered one of the most transformative features coming to C⁠+⁠+, enabling compile-time introspection and code generation. With this update, ReSharper C⁠+⁠+ recognizes the core reflection primitives:
    • The ^^ (reflect) operator, which produces a std::meta::info value representing the reflected entity.
    • The [: ... :] (splice) syntax, which converts a reflection value back into a language construct.
    • Compile-time queries on reflected types, members, enumerators, and other entities.
    • Note: Of the major C⁠+⁠+ compilers, currently only GCC 16 supports C⁠+⁠+⁠26 reflection.
  • Related C⁠+⁠+26 features - Support for reflection is complemented by two related C⁠+⁠+26 language features:
    • ReSharper C⁠+⁠+ now supports consteval { ... } blocks, which are evaluated at compile time and can inject declarations into the enclosing scope. consteval blocks provide a clean way to trigger compile-time side effects, making them particularly useful for practical metaprogramming with reflection.
    • User-defined annotations can now be attached to declarations and queried through the reflection API, enabling custom metadata-driven code generation.
  • 'constexpr' evaluation - ReSharper C⁠+⁠+ 2026.2 extends its constexpr evaluator with two important capabilities:
    • The evaluator now supports dynamic memory allocation during constant evaluation - a feature introduced in C⁠+⁠+20. This enables correct evaluation of constexpr code that uses new/delete or standard containers like std::vector and std::string.
    • The evaluator now supports C⁠+⁠+26 constexpr exceptions and handles try/catch and throw expressions during constant evaluation.

ISPC language support

  • ReSharper C⁠+⁠+ 2026.2 adds support for ISPC (Intel SPMD Program Compiler), a language designed for high-performance parallel programming on CPUs. ISPC is widely used in game engines, rendering systems, and scientific computing, including Unreal Engine projects.
  • ReSharper C⁠+⁠+ now provides syntax highlighting, code analysis, navigation, and coding assistance for ISPC files, bringing the same quality of editor support you expect for C⁠+⁠+ to your ISPC code.

Unreal Engine

  • Performance - This release brings major performance improvements during startup in Unreal Engine projects. ReSharper C⁠+⁠+ now uses the project information from UnrealBuildTool to speed up initial indexing by analyzing only files included in the Unreal Engine project model. Combined with other optimizations, including improvements in multithreaded indexing, this results in a significant speedup. According to the measurements on the Lyra sample solution, initial indexing of C⁠+⁠+ code is up to 55% faster, and loading C⁠+⁠+ caches from serialized data during a warm IDE startup is up to 35% faster. You can disable the new indexing behavior by unchecking the Index only files in Unreal Engine project model option on the Code Editing | C/C⁠+⁠+ | Unreal Engine settings page.
  • Blueprint support - ReSharper C⁠+⁠+ now also discovers usages of gameplay tags inside Blueprint assets and shows them in Code Vision and Find usages results, giving you a complete picture of where your gameplay tags are used across the project.

Code analysis

  • Internal linkage - The new Entity can have internal linkage inspection detects functions, variables, and classes that are not used outside their translation unit. You can use the provided fixes to mark such entities static or move them into an anonymous namespace, which helps the compiler optimize and prevents unintended linkage conflicts.
  • Designated initializers in aggregate initialization - ReSharper C⁠+⁠+ now suggests adding designators to braced initializer lists in aggregate initialization. Designated initializers, available since C⁠+⁠+⁠20 and C99, make it explicit which member each initializer corresponds to, improving code readability and reducing the chance of errors when members are reordered. A corresponding context action is also available and can be used even when the inspection is disabled.
  • Calls to overridden base functions - Another new inspection detects qualified calls to base virtual functions that are overridden in a derived class. Calling a base-class virtual function directly rather than through virtual dispatch can be a source of subtle bugs, and this inspection helps catch such cases.
  • [[jetbrains::used_implicitly]] attribute - ReSharper C⁠+⁠+ now recognizes the [[jetbrains::used_implicitly]] attribute, which can be applied to symbols to suppress inspections that would otherwise suggest changing their signature or linkage. This is useful for symbols that are used through reflection, code generation, or other mechanisms not visible to static analysis.

Coding assistance

  • Refactoring improvements
    • Invoking Inline Function on a function declaration now inlines all usages of the function throughout the codebase, not just the usage under the cursor.
    • The Extract Method refactoring is now available inside lambda bodies, letting you factor out parts of a lambda into a separate function.
  • Context actions
    • A new context action lets you easily toggle the const qualifier on a member function.
    • You can now quickly insert a #pragma clang diagnostic ignored directive to suppress a specific Clang diagnostic on the current line.
    • In Unreal Engine projects, you can now copy the include path for the currently opened header file from the Copy Code Reference menu, making it easy to paste the correct #include directive.
ReSharper C++ 2026.1.1Apr 27, 2026
Fixes
  • C++
    • u8 string and character literals in C should have unsigned char underlying type.
  • Caches
    • Redundant memory usage in UE4AssetsCache.
    • Signals for monitoring added/removed symbols.
    • Hang in CppLinkageEntityCache.FindEntitiesBySymbols.
  • Code Style - Formatter
    • Do not place the semicolon on a separate line in a do-while statement.
  • Project Model
    • Unresolved symbols are not highlighted in red inside a newly created file.
    • C language standard is wrong in a CMake project using clang.
    • ClangCL toolset shouldn't be used when the toolset name is Clang.
  • Unreal Engine
    • Hang in blueprints cache.
  • No subsystem
    • STOFL in type presentation.
ReSharper C++ 2026.1Major versionMar 30, 2026
Features

Performance

  • ReSharper C⁠+⁠+ 2026.1 brings significant performance optimizations across all stages of the IDE experience, specifically tuned for the demands of large-scale Unreal Engine projects. Measurements on the Lyra sample project for Unreal Engine in Out-of-Process mode demonstrate these improvements:
    • Initial indexing of C⁠+⁠+ code is now up to 20% faster, reducing the wait when you open a solution for the first time.
    • Warm startup time has been improved by more than 20%, so returning to a previously opened solution is noticeably faster.
    • Backend memory usage after a warm start has been reduced by up to 21%, leaving more resources available for the rest of your workflow.

Language features

  • ReSharper C⁠+⁠+ now supports the #embed preprocessor directive introduced in C⁠+⁠+⁠26 and C23. This directive lets you embed the contents of a binary resource file directly into your source code, without the need for external tooling or code generation.
  • This release also adds support for two additional language features:
    • _Countof operator: ReSharper C⁠+⁠+ now recognizes the _Countof operator from C2Y (the upcoming C standard), which returns the element count of an array.
    • Extended floating-point types: bfloat16_t, float16_t, and float128_t floating-point types standardized in C⁠+⁠+⁠23 are now supported.
  • ReSharper C⁠+⁠+ 2026.1 improves compatibility with compiler-specific extensions:
    • Nested functions: ReSharper C⁠+⁠+ now supports GCC's extension for defining functions inside other functions in C code.
    • _Nullable/_Nonnull qualifiers: Clang's pointer nullability qualifiers are now recognized by the parser.

Coding assistance

  • Reduce cognitive load with ReSharper C⁠+⁠+⁠'⁠s new auto-import support for C⁠+⁠+⁠20 modules. When you use an exported symbol but the corresponding import declaration is missing, the IDE now provides a smart suggestion to insert it automatically. Currently, auto-import is supported only for symbols exported directly from primary module interface units and module partitions.
  • Postfix completion has been extended to cover the following scenarios:
    • Primitive types: Postfix completion previously only worked with class and struct types. It now also handles expressions of primitive types like int, bool, and float.
    • Literals: Postfix completion now works after literals, so typing 42.cos expands to cos(42).
    • User-defined literal suffixes: Code completion is now available for user-defined literal operators.
  • Two auto-indent improvements contribute to a smoother editing experience:
    • Pressing Enter between the braces of a control-flow statement or a class definition now correctly positions the cursor with proper indentation even when attributes are present (e.g. class [[deprecated]] MyClass {}).
    • Auto-indentation inside extern blocks now respects the Indent linkage specification block members formatting setting.

Unreal Engine

  • BlueprintPure in Code Vision: Code Vision now recognizes functions marked with the BlueprintPure specifier in addition to BlueprintCallable.
  • Event implementations in Code Vision: Code Vision now detects implementations of BlueprintNativeEvent and BlueprintImplementableEvent functions in Blueprint assets.
  • Find Usages for delegate properties: Find Usages now discovers Blueprint-side bindings for BlueprintAssignable delegate properties.
  • Improved Blueprint search accuracy: Find Usages for Blueprint references now searches by asset path instead of Blueprint name. This means that if your project contains multiple Blueprints with the same name, the search results are no longer ambiguous.
  • ReSharper C⁠+⁠+ now indexes Unreal Engine plugins by default. With the growing use of plugins in Unreal Engine projects and the recent performance gains, indexing plugins by default provides better code analysis and navigation out of the box.
  • ReSharper C⁠+⁠+ also adds support for the UnrealHeaderTool changes in the upcoming Unreal Engine 5.8. In particular, the DECLARE_DYNAMIC_MULTICAST_DELEGATE macros no longer trigger false-positive errors in code analysis.

Code analysis

  • ReSharper C⁠+⁠+ 2026.1 updates the bundled Clang-Tidy binary, bringing the latest checks and enhancements from the LLVM 22 release.
  • A new inspection detects designated initializers that appear in a different order than the corresponding members are declared in the struct. Since C⁠+⁠+⁠20 requires designated initializers to follow the declaration order, out-of-order initializers result in a compilation error. ReSharper C⁠+⁠+ now flags these cases and provides a quick-fix that automatically reorders the initializer list to match the struct definition.
  • Another new inspection warns you when a function has a different access level (public, protected, or private) than the virtual function it overrides in the base class. While C⁠+⁠+ permits changing the access level of an override, doing so is often unintentional and can lead to surprising behavior. The inspection helps catch these subtle mismatches.
  • This release extends Unused symbol inspections to class members defined in .cpp source files. Previously, these members were assumed to be externally visible and excluded from the Unused symbol analysis. Now, they are analyzed the same way as static functions and anonymous namespace members.

Navigation

  • Refined the gutter marks in C⁠+⁠+ files to help you navigate and understand complex codebases with minimal effort.
  • Tooltips with semantic highlighting: Tooltips that appear when hovering over gutter marks now feature semantic highlighting, making them easier to read at a glance.
  • Navigation to base classes: A new gutter icon on class definitions lets you navigate upward in the inheritance hierarchy to base classes, complementing the existing marks for navigating to derived classes.
  • Go to Declaration and other navigation actions now work on the opening brace in brace initialization expressions (e.g. MyStruct { 1 }), in addition to the type name.

Visual Studio integration

  • ReSharper C⁠+⁠+ tooltips are now available in Visual Studio 2026, restoring the tooltip support that was missing in the initial Visual Studio 2026 compatibility release. Tooltip presentation has also been improved: icons now help distinguish between symbol types, and theming support has been enhanced.
  • Several editor UI elements in ReSharper have been refreshed to better align with the modern look of the Visual Studio experience.
  • Thanks to a redesign, the code completion UI now provides a cleaner and more consistent look within the editor.
  • Also modernized a number of related UI components, including parameter info popups, tooltips, and other editor popups, replacing outdated visuals and improving their appearance across themes and DPI settings.
  • The updated UI now supports Visual Studio's editor zoom feature, ensuring completion lists and parameter info scale correctly when zoom levels change.
ReSharper C++ 2025.3.3Feb 19, 2026
Fixes
  • ReSharper not working with .slnx Solution and AdvancedInstaller Project.
  • "CS1998" false-positive warning: "Async method lacks 'await' operators and will run synchronously".
  • InitializeComponent being incorrectly flagged in MAUI projects.
  • "Generate Partial" + "partial keyword completion" for event uses get/set instead of add/remove.