Technology

ReSharper C++ 2026.2 Adds C++26 Reflection, ISPC, Unreal Speedup

JetBrains rolls out ReSharper C++ 2026.2 with first-wave C++26 reflection support, native ISPC tooling, and a meaningful Unreal Engine indexing speedup.

ReSharper C++ 2026.2 introduces the first editor-level support for C++26 reflection, currently testable via GCC 16 in WSL, and adds first-class language tooling for ISPC. Unreal Engine projects get a substantial indexing speedup driven by project-scoped indexing, multithreading improvements, and a reported 40% faster Blueprint pass on the Lyra sample. The release also adds inspections for designated initializers, qualified base virtual calls, and translation-unit-local symbols, plus refactorings that inline all call sites and extract methods from lambda bodies. For game studios and compiler early adopters alike, the release bridges a real gap in the C++ tooling landscape.

What JetBrains shipped this week

ReSharper C++ 2026.2 is out, and the headline is the first wave of editor support for C++26 reflection, the compile-time introspection feature the standards committee has been shepherding for several years. Of the major compilers, only GCC 16 currently accepts the relevant syntax, so JetBrains is pairing its tooling with a workaround for Visual Studio users: open a project in WSL, build it with a Linux distribution such as Fedora 44 that ships GCC 16, and the IDE will treat the source as a reflection-enabled C++ program.

The release also opens the door to a language most game developers have heard of but few have full editor support for: ISPC, Intel's SPMD compiler for CPU-side parallel work. ReSharper C++ now parses ISPC files, highlights them, runs analysis, and offers the same navigation features the IDE already provides for standard C++.

Unreal Engine gets a real indexing win

Game studios on Unreal will probably notice the performance work first. The IDE now leans on the Unreal project model to scope which files get indexed during startup, and on a sample project (Lyra) Blueprint indexing came in about 40% faster. Multithreaded indexing got additional tuning, and the combined effect is the kind of cold-start improvement that changes how an engineer uses a tool. A new option lets teams opt out of the project-scoped behavior if they need the old global view.

On top of the indexing work, Blueprints now expose gameplay tag usages in Find Usages, so a search for a tag like State.Dead turns up every Blueprint that references it, not just the C++ sites.

New code inspections and refactorings

Several smaller additions round out the release:

  • A new inspection flags functions, variables, and classes unused outside their translation unit, with quick-fixes to mark them static or move them into an anonymous namespace.
  • Aggregate initialization now gets a suggestion to use designated initializers (C++20, also valid C99), which survive member reordering without silently breaking.
  • Qualified calls to a base virtual that a derived class overrides are flagged, since they bypass virtual dispatch and can hide bugs.
  • The new [[clang::preserve_none]] attribute is recognized, so symbols that flow through reflection or codegen no longer get noisy suggestions to change their signature.
  • Inline refactoring now inlines all call sites of a function, not just the one under the cursor. The Extract Method refactoring now works inside lambda bodies, and a context action can insert a Clang diagnostic suppression on the current line.

For Unreal projects, the Copy Include Path action shows up in the context menu for the active header, so pasting the right #include stops being a guessing game.

Why this release matters

C++26 reflection is a generational change for the language, and 2026.2 is the first time ReSharper C++ developers can edit it with the same confidence they get for older C++. The Unreal work, meanwhile, is the practical answer to a complaint studios have voiced for years: indexing was simply too slow on big projects. The next year will tell whether Microsoft's own Visual Studio C++ tooling catches up on either front.