ReSharper C++ 2024.2 implementiert neue C++23-Sprachmerkmale, ergänzt Tooltips um Typlayout-Informationen und führt mehrere Verbesserungen für das Rename-Refactoring ein. Für die Unreal-Engine-Entwicklung bietet ReSharper C++ 2024.2 Unterstützung für Struct Traits sowie eine neue Inspektion, die fehlende Basismethoden-Aufrufe erkennt.
Kostenlose 30-Tage-Testversion verfügbar
ReSharper C++ 2024.2 unterstützt den mehrdimensionalen Indexoperator. Durch die Verwendung von operator[]
mit mehreren Argumenten können Sie mehrdimensionale Container und Views besser unterstützen.
ReSharper C++ versteht jetzt auch die C++23/C23-Präprozessoranweisungen #elifdef
und #elifndef
, die die bestehenden Anweisungen #ifdef
und #ifndef
ergänzen.
[[assume(<expr>)]]
ist ein neues Attribut in C++23, das eine portable Möglichkeit bietet, dem Optimierer über einen Argumentausdruck zusätzliche Informationen zu übergeben. ReSharper C++ parst jetzt das Argument und unterstützt innerhalb des Arguments alle üblichen Code-Intelligence-Funktionen.
Eine neue Inspektion erkennt fehlende Aufrufe von Basismethoden, insbesondere in den Methoden BeginDestroy
und GetLifetimeReplicatedProps
. Der dazugehörige Fix fügt den erforderlichen Super
-Aufruf ein.
Eine weitere neue Inspektion kennzeichnet Verwendungen von IOnlineSubsystem::Get()
und ersetzt sie durch Online::GetSubsystem(this->GetWorld())
.
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 2024.2 erwarten.
Die Quickinfo-Tooltips enthalten jetzt Informationen zum Typlayout. Bewegen Sie einfach den Mauszeiger auf eine Klasse oder ein Klassenfeld, um Größe und Alignment des Elements zu prüfen.
Bei einem Klassenfeld sehen Sie zusätzlich den Offset des Feldes ab Objektanfang sowie das Padding, das nach dem Feld eingefügt wird.
Wenn Sie eine Datei umbenennen, bietet ReSharper C++ jetzt eine neue Option, um zugehörige Dateien mit demselben Namen umzubenennen. Wenn Sie zum Beispiel eine Header-Datei umbenennen, wird die .cpp
-Datei, die den Header inkludiert, ebenfalls umbenannt.
Und schließlich können Sie beim Umbenennen eines Namensraums in einer Datei mit passendem Namen auch die Datei selbst automatisch umbenennen.
Die mitgelieferte clang-tidy-Programmdatei wurde auf Clang 18 aktualisiert und enthält neue Prüfungen und Verbesserungen aus dem neuesten LLVM-Release.
Analog zur Unterstützung von NOLINT
-Kommentaren im Update 2024.1 erkennt ReSharper C++ jetzt die pragmas von include-what-you-use, um die Inspektion Possible unused #include directive zu unterdrücken.
Die Menüaktion Why is ReSharper suggesting this? (Warum schlägt ReSharper dies vor?) führt jetzt bei Codeinspektionen, die eine C++-Core-Guideline implementieren, zur entsprechenden Guideline.
Der Filter Base method call ist jetzt im Fenster Find Results verfügbar und ermöglicht das Herausfiltern von Basismethoden-Aufrufen aus der Verwendungsliste.
ReSharper C++ bietet jetzt asynchrones Tippen als Teil unserer laufenden Bemühungen zur Verbesserung der Performance, indem ReSharper außerhalb des Visual-Studio-Prozesses ausgeführt wird. Unsere internen Tests haben gezeigt, dass die Tastatureingabe flüssiger wird, wenn asynchrones Tippen aktiviert ist.
ReSharper C++ verbessert außerdem die Kompatibilität mit CMake-Projekten in Visual Studio, behebt mehrere wichtige Probleme und verbessert die Performance bei der Codebearbeitung.
Unter <Das ist neu in ReSharper finden Sie Informationen zu weiteren Änderungen in diesem Release.
Kostenlose 30-Tage-Testversion verfügbar