Das ist neu in ReSharper C++ 2025.1

ReSharper C++ 2025.1 bietet eine erweiterte constexpr-Auswertung und erleichtert die plattformunabhängige Entwicklung durch die Unterstützung neuer GNU-Spracherweiterungen. Zu den weiteren Updates zählen das neue Inline Macro-Refactoring, eine verbesserte GoogleTest-Unterstützung und eine mit der ARM-Plattform kompatible Clang-Tidy-Version. Unreal-Engine-Entwickler*innen profitieren außerdem von einer optimierten Speichernutzung in Projekten mit vielen Blueprints.

Sprachmerkmale

ReSharper C++ 2025.1 unterstützt mehrere neue GNU-Spracherweiterungen, darunter:

  • Bedingungsausdrücke mit weggelassenen Operanden
  • #import-Anweisungen
  • Gleitkommatypen _Float16, __bf16 und __float128
  • Lokale Sprungmarken
  • Bereichssyntax für designierte Initialisierer

Außerdem unterstützt ReSharper C++ jetzt dezimale Gleitkommatypen aus C23.

Wir haben die Fähigkeiten der constexpr-Auswertungsengine erweitert. ReSharper C++ kann jetzt constexpr-Funktionen auswerten, die switch-Anweisungen, if-Anweisungen mit einem Initialisierer, strukturierte Bindungen und triviale Standardinitialisierungen enthalten. Auch der Default-Vergleichsoperator operator== aus C++20 kann ausgewertet werden.

Unreal Engine

Einer unserer Schwerpunkte in ReSharper C++ 2025.1 war die Optimierung der Speichernutzung durch Blueprint-bezogene Features. Cache-Daten werden auf die Festplatte ausgelagert, sodass Projekte mit einer großen Anzahl von Blueprints deutlich weniger Speicher benötigen, was die Gesamtperformance verbessert.

Darüber hinaus erkennt ReSharper C++ jetzt die Reflection-Makros UMETA und UPARAM, färbt sie ein und bietet Code-Completion und Dokumentations-Tooltips sowohl für die Makros selbst als auch für deren Attribute.

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 2025.1 erwarten.

Inline Macro-Refactoring

Mit dem neuen Refactoring Inline Macro können Sie alle Verwendungen eines Makros in Ihrem Code unkompliziert ersetzen. Das Refactoring meldet zudem potenzielle Verwendungen in Makrokörpern und Makroargumenten, die manuell geprüft werden müssen.

Programmierhilfen

Um Ihnen die Navigation zu erleichtern, schlägt die verbesserte Aktion Switch Header/Source jetzt nicht nur Dateien mit gleichem Namen vor, sondern auch Dateien, die eine Deklaration oder Definition einer Funktion aus der aktuellen Datei enthalten.

Funktionsreferenzen in __declspec(property)-Attributen werden jetzt korrekt eingefärbt, in Find Usages erkannt und durch das Rename-Refactoring aktualisiert.

Eine neue Inspektion Redundant forward declaration erkennt doppelte Vorausdeklarationen von Klassen innerhalb derselben Datei und kann das Problem mit einem Quick-Fix korrigieren.

Clang-Tidy

ReSharper C++ 2025.1 aktualisiert das mitgelieferte Clang-Tidy auf Clang 20 und enthält somit die neuesten Checks und Verbesserungen aus der aktuellen LLVM-Version. Dieses Update verbessert auch die Unterstützung der ARM-Plattform und enthält eine Clang-Tidy-Binärdatei für Windows ARM.

Clang-Tidy-Checks sind jetzt auf der Inspection Severity-Einstellungsseite nach ihrem Präfix gruppiert. Dies erleichtert die Navigation zu spezifischen Checks und ermöglicht das gruppenweise Aktivieren oder Deaktivieren von Checks.

GoogleTest

ReSharper C++ 2025.1 enthält mehrere Updates für die GoogleTest-Unterstützung. Beim Ausführen von Wert- und Typ-parametrisierten Tests werden Testfälle für spezifische Werte und Typen jetzt unter ihrem jeweiligen parametrisierten Test gruppiert, was die Strukturierung und Lesbarkeit der Testergebnisse verbessert.

Parametrisierte Tests werden jetzt im Quellcode erkannt, ohne dass sie ausgeführt werden müssen. Dadurch können Sie jetzt über Randleistensymbole und Kontextaktionen ganze Test-Suites und einzelne parametrisierte Tests direkt aus dem Editor heraus ausführen.

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