ReSharper C++
The Visual Studio Extension for C++ Development
ReSharper C++ 2026.2: C++26 Reflection, ISPC Language Support, And More
ReSharper C++ 2026.2 is out, bringing initial support for C++26 reflection, the most anticipated addition to the C++ language in recent years.
This release also introduces ACP agent support in ReSharper with Junie as the first available agent, adds support for the ISPC language, and significantly speeds up indexing in Unreal Engine projects. Other highlights include updates to the constexpr evaluator, new code inspections, and refactoring enhancements.
If you’d like to explore the full set of updates, take a look at the What’s New in ReSharper C++ 2026.2 page. In this post, we’ll walk through the most important changes and improvements.
C++ support
C++26 reflection
The headline feature of this release is C++26 reflection, a long-awaited addition to the language that enables compile-time introspection and code generation.
With this update, ReSharper C++ recognizes the core reflection primitives:
- The
^^(reflect) operator, which produces astd::meta::infovalue 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.

Of the major C++ compilers, currently only GCC 16 supports C++26 reflection. One way you can experiment with C++26 reflection in Visual Studio right now is by creating a Linux C++ project and compiling it using WSL on a Linux distribution that includes GCC 16, like Fedora 44.
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.constevalblocks 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
We’ve also updated the 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
constexprcode that usesnew/deleteor standard containers likestd::vectorandstd::string. - The evaluator now supports C++26
constexprexceptions and handlestry/catchandthrowexpressions during constant evaluation.
ISPC language support
We’ve added support for ISPC (Intel SPMD Program Compiler), a language designed for high-performance parallel programming on CPUs. ISPC is based on the SPMD programming model, where you write code that appears to be a standard serial program, but at runtime, multiple program instances execute in parallel on the target hardware. 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 our measurements on the Lyra sample solution:
- Initial indexing of C++ code is up to 55% faster.
- Loading C++ caches during warm 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
Blueprint support has also undergone a major overhaul, resulting in significantly improved indexing time. On the Lyra sample solution, indexing Blueprints is up to 40% faster, but the exact speedup in your project depends on the structure of your assets.
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
Two refactoring improvements make restructuring code easier:
- 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
New context actions help with day-to-day tasks:
- A new context action lets you easily toggle the
constqualifier on a member function. - You can now quickly insert a
#pragma clang diagnostic ignoreddirective 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
#includedirective.
Tell us your thoughts
This post covered the highlights, but if you want the full details on these improvements, head on over to the What’s New in ReSharper C++ 2026.2 page.
Download the latest release and let us know how it works for your projects.