Das ist neu in ReSharper C⁠+⁠+ 2026.1

ReSharper C++ 2026.1 startet schneller und belegt weniger Arbeitsspeicher. Diese Version unterstützt die in C++26 eingeführte Anweisung #embed sowie weitere neue Sprachmerkmale. Die verbesserte Programmierunterstützung umfasst eine Autoimport-Funktion für C++20-Module sowie neue Szenarien für die Postfix-Completion. Unreal-Engine-Entwickler*innen profitieren von einer verbesserten Blueprint-Integration und Kompatibilitätskorrekturen für die bevorstehende Version 5.8 der Engine.

Performance

ReSharper C++ 2026.1 bietet erhebliche Leistungsoptimierungen in allen Bereichen der IDE-Nutzung, mit besonderem Schwerpunkt auf den Anforderungen großer Unreal-Engine-Projekte. Unsere Messungen im Out-of-Process-Modus mit dem Lyra-Beispielprojekt für Unreal Engine zeigen die Fortschritte:

  • Die Erstindexierung von C++-Code erfolgt jetzt bis zu 20% schneller, was die Wartezeit beim erstmaligen Öffnen einer Projektmappe reduziert.
  • Der Warmstart wurde um mehr als 20% beschleunigt, sodass Sie merklich schneller zu einer zuvor geöffneten Projektmappe zurückkehren können.
  • Der Speicherbedarf des Backends nach einem Warmstart wurde um bis zu 21% reduziert – damit bleiben mehr Ressourcen für Ihren weiteren Workflow übrig.

Sprachmerkmale

ReSharper C++ unterstützt jetzt die in C++26 und C23 eingeführte Präprozessoranweisung #embed. Damit können Sie eine Binärressourcendatei direkt in den Quellcode einbetten, ohne auf externe Tools oder Codegenerierung zurückgreifen zu müssen.

Diese Version bietet zudem Unterstützung für zwei weitere Sprachmerkmale:

  • _Countof-Operator: ReSharper C++ erkennt jetzt den _Countof-Operator aus C2Y (dem nächsten C-Standard), der die Anzahl der Elemente in einem Array zurückgibt.
  • Erweiterte Gleitkommatypen: Die in C++23 standardisierten Gleitkommatypen bfloat16_t, float16_t und float128_t werden nun unterstützt.

ReSharper C++ 2026.1 verbessert die Kompatibilität mit compilerspezifischen Erweiterungen:

  • Verschachtelte Funktionen: ReSharper C++ unterstützt jetzt die GCC-Erweiterung zur Definition von Funktionen innerhalb anderer Funktionen in C-Code.
  • Modifikatoren _Nullable/_Nonnull: Die Nullability-Modifikatoren von Clang für Zeiger werden jetzt vom Parser erkannt.

Programmierhilfen

Mit der neuen Autoimport-Funktion für C++20-Module bietet Ihnen ReSharper C++ mentale Entlastung. Wenn Sie ein exportiertes Symbol ohne entsprechende import-Deklaration verwenden, schlägt die IDE nun vor, diese automatisch einzufügen. Derzeit wird der Autoimport nur für Symbole unterstützt, die direkt aus Primärmodul-Schnittstelleneinheiten und Modulpartitionen exportiert werden.

Die Postfix-Completion wurde auf die folgenden Szenarien erweitert:

  • Primitive Typen: Die Postfix-Completion funktionierte bisher nur bei Klassen und Structs. Nun unterstützt sie auch Ausdrücke mit primitiven Typen wie int, bool und float.
  • Literale: Die Postfix-Completion funktioniert nun auch nach Literalen, sodass zum Beispiel die Eingabe von 42.cos zu cos(42) erweitert wird.
  • Benutzerdefinierte Literalsuffixe: Die Code-Completion ist jetzt auch für benutzerdefinierte Literal-Operatoren verfügbar. Wenn Sie ein Literal gefolgt von _ eingeben, schlägt ReSharper C++ passende operator""-Suffixe vor, die im aktuellen Gültigkeitsbereich sichtbar sind.

Zwei Verbesserungen bei der automatischen Einrückung tragen zu einer flüssigeren Bearbeitung bei:

  • Wenn Sie zwischen den geschweiften Klammern einer Kontrollfluss-Anweisung oder einer Klassendefinition Enter drücken, wird der Cursor nun auch dann korrekt eingerückt, wenn Attribute vorhanden sind (z. B. class [[deprecated]] MyClass {}).
  • Die automatische Einrückung in extern-Blöcken berücksichtigt jetzt die Formatierungseinstellung Indent linkage specification block members.

Unreal Engine

ReSharper C++ 2026.1 bietet eine verbesserte Blueprint-Unterstützung:

  • BlueprintPure in Code Vision: Code Vision erkennt jetzt neben BlueprintCallable auch Funktionen, die als BlueprintPure gekennzeichnet sind.
  • Ereignisimplementierungen in Code Vision: Code Vision erkennt jetzt Implementierungen der Funktionen BlueprintNativeEvent und BlueprintImplementableEvent in Blueprint-Assets.
  • Find Usages für Delegat-Eigenschaften: Find Usages erkennt jetzt Blueprint-seitige Bindungen für BlueprintAssignable-Delegat-Eigenschaften.
  • Genauere Blueprint-Suche: Find Usages sucht nun nach Blueprint-Referenzen anhand des Asset-Pfads anstelle des Blueprint-Namens. Dadurch wird Mehrdeutigkeit in den Suchergebnissen vermieden, wenn das Projekt mehrere gleichnamige Blueprints enthält.

ReSharper C++ indexiert jetzt standardmäßig Unreal-Engine-Plugins. Angesichts der zunehmenden Verwendung von Plugins in Unreal-Engine-Projekten und der jüngsten Leistungssteigerungen wird durch die standardmäßige Indexierung von Plugins eine bessere Codeanalyse und Codenavigation gewährleistet. Sie können das bisherige Verhalten jederzeit auf der Einstellungsseite ReSharper | Options | Code Editing | C/C++ | Unreal Engine anpassen.

ReSharper C++ unterstützt auch die UnrealHeaderTool-Änderungen in der bevorstehenden Version 5.8 der Unreal Engine. So lösen DECLARE_DYNAMIC_MULTICAST_DELEGATE-Makros bei der Codeanalyse keine Fehlalarme mehr aus.

Wenn Sie an einer eigenständigen, plattformübergreifenden IDE für die Unreal-Engine-Entwicklung interessiert sind, sollten Sie sich Rider ansehen. Die Unreal-Engine-Unterstützung in Rider und ReSharper C⁠+⁠+ ist identisch, und Sie können die gleichen Verbesserungen in Rider 2026.1 erwarten.

Codeanalyse

ReSharper C++ 2026.1 aktualisiert die mitgelieferte Clang-Tidy-Binärdatei, sodass Sie die neuesten Checks und Verbesserungen aus der aktuellen LLVM-Version 22 nutzen können.

Eine neue Inspektion erkennt designierte Initialisierer, die in einer anderen Reihenfolge angegeben sind als die entsprechenden Elemente in der Struct-Deklaration. Da C++20 vorschreibt, dass designierte Initialisierer die Deklarationsreihenfolge einhalten müssen, führen Initialisierer, die die falsche Reihenfolge verwenden, zu einem Kompilierfehler. ReSharper C++ weist nun auf diese Fälle hin und stellt einen Quick-Fix bereit, um die Reihenfolge im Initialisierer mit der Struct-Definition in Einklang zu bringen.

Eine weitere neue Inspektion warnt Sie, wenn eine Funktion eine unterschiedliche Zugriffsstufe (public, protected oder private) aufweist als die überschriebene virtuelle Funktion der Basisklasse. Zwar lässt C++ eine Änderung der Zugriffsstufe beim Überschreiben zu, doch dies geschieht oft unabsichtlich und kann zu unerwartetem Verhalten führen. Die Inspektion hilft Ihnen, diese kleinen Abweichungen zu finden.

Dieses Release erweitert die Unused symbol-Inspektionen auf Klassenmember, die in .cpp-Dateien definiert sind. Bisher wurde davon ausgegangen, dass diese Elemente von außen sichtbar sind, weshalb sie von der Unused symbol-Analyse ausgeschlossen wurden. Nun werden sie auf dieselbe Weise analysiert wie static-Funktionen und anonyme Elemente im Namensraum.

Navigation

Die Randleistenmarkierungen in C++-Dateien wurden optimiert, damit Sie sich noch leichter in komplexen Codebeständen zurechtfinden und in diesen navigieren können.

  • Tooltips mit semantischer Hervorhebung: Tooltips, die beim Überfahren von Randleistenmarkierungen mit der Maus angezeigt werden, sind jetzt durch semantische Hervorhebung leichter auf einen Blick zu erfassen.
  • Navigation zu Basisklassen: Über ein neues Randleistensymbol neben Klassendefinitionen können Sie in der Vererbungshierarchie nach oben zu den Basisklassen navigieren, als Ergänzung zu den bereits vorhandenen Navigationsmarkierungen zu abgeleiteten Klassen.

Go to Declaration und andere Navigationsaktionen funktionieren jetzt nicht nur über dem Typnamen, sondern auch über der öffnenden Klammer von Klammer-Initialisierungsausdrücken (z. B. MyStruct { 1 }).

Visual Studio-Integration

Die Tooltips von ReSharper C++ sind jetzt in Visual Studio 2026 verfügbar – damit ist die Tooltip-Unterstützung, die in der ersten mit Visual Studio 2026 kompatiblen Version noch fehlte, wiederhergestellt. Auch die Darstellung der Tooltips wurde verbessert: Die Unterscheidung zwischen verschiedenen Symboltypen wird nun durch Symbolbilder erleichtert, und die Unterstützung für Designs wurde verbessert.

Mehrere Editor-Bedienelemente von ReSharper wurden überarbeitet, um besser mit der modernen Optik von Visual Studio zu harmonieren.

Die neu gestaltete Code-Completion-Oberfläche bietet jetzt eine übersichtlichere und konsistentere Darstellung im Editor.

Wir haben auch verschiedene andere Bedienelemente modernisiert, darunter Parameterinfo-Popups, Tooltips und weitere Editor-Popups. Dabei haben wir veraltete visuelle Darstellungen ersetzt und das Erscheinungsbild über verschiedene Designs und DPI-Einstellungen hinweg verbessert.

Die aktualisierte Oberfläche unterstützt die Zoom-Funktion des Visual-Studio-Editors, sodass Completion-Listen und Parameterinformationen bei Änderung der Zoomstufe korrekt angepasst werden.

ReSharper C++ 2026.1 behebt mehrere Probleme im Projektmodell:

  • WDK-Projekte (Windows Driver Kit): ReSharper C++ erkennt jetzt WDK-spezifische Plattform-Toolsets korrekt und stellt die entsprechenden Standard-Präprozessor-Definitionen bereit.
  • WinUI-3-Projekte: Include-Pfade werden jetzt korrekt konfiguriert.
  • Bibliotheksverzeichnisse für Typbibliotheken: ReSharper C++ löst jetzt COM-Typbibliotheksdateien (.tlb) in Bibliotheksverzeichnissen, die in den Visual-Studio-Projekteinstellungen konfiguriert sind, korrekt auf.

Unter Das ist neu in ReSharper finden Sie Informationen zu weiteren Änderungen in diesem Release.