ReSharper C++ und Visual Assist im Vergleich
Dieses Dokument enthält eine Beschreibung der Unterschiede zwischen ReSharper C++ und Visual Assist von Whole Tomato.
Da beide Produkte aktiv weiterentwickelt werden und ihre Funktionalität regelmäßig überarbeitet wird, weisen wir darauf hin, dass dieser Vergleich nur für bestimmte Versionen relevant ist, die in der Kopfzeile der Vergleichstabelle angegeben sind.
Wenn Sie Elemente in dieser Tabelle finden, die nicht zutreffen, schreiben Sie uns bitte einen Kommentar, damit wir die Tabelle aktualisieren können.
![]() in Visual Studio 2019 + Visual Assist-Build 2024.8 (2537) | in Visual Studio 2022 + ReSharper C++ 2024.3 | |
---|---|---|
Unterstützte Versionen von Visual Studio | Visual Studio 2022 | Visual Studio 2022 |
Visual Studio 2019 | Visual Studio 2019 | |
Visual Studio 2017 | Visual Studio 2017 | |
Visual Studio 2015 | Visual Studio 2015 | |
Visual Studio 2013 | Visual Studio 2013 | |
Visual Studio 2012 | Visual Studio 2012 | |
Visual Studio 2010 | Visual Studio 2010 | |
Visual Studio 2008 | ||
Visual Studio 2005 | ||
Unterstützte Spezifikationen von C/C++ | C/C++ | C/C++ |
C++/CLI | ||
CUDA-Quellcodedateien | ||
Erkennen von Problemen im Code | Hervorheben nicht aufgelöster Symbole | |
Unterdrückung von Codeinspektionen durch Kommentare | Unterdrückung von Codeinspektionen durch Kommentare | |
Randleistenmarkierungen für rekursive Aufrufe | ||
Quick-Fixes für Codeprobleme | ||
Programmierhilfen | Hervorhebung gepaarter Elemente (einschließlich von Makros und Formatargumenten in printf und boost::format ) | |
Verbesserte farbliche Syntaxhervorhebung (6 verschiedene Bezeichnerarten) – Stable-Symbole in Kursivschrift – Lokale Symbole in Fettschrift | Syntaxhervorhebung (20 verschiedene Bezeichnerarten) | |
Automatisches Erweitern und Erstellen von Dokumentationsgerüsten mit Enter-Taste in mehrzeiligen /**/ und einzeiligen /// Kommentaren | ||
Generieren von Doxygen-Kommentaren bei der Eingabe von /// | ||
Hervorhebung übereinstimmender Wörter (Code und Kommentare) | ||
Automatische Hervorhebung von Funktionsausstiegen | ||
Codestilunterstützung | Formatieren nach Einfügen (Formatierungsregeln stammen von Visual Studio) | Formatierungsregeln auf einen beliebigen Bereich anwenden (mit der eigenen umfangreichen Sammlung an Formatierungsregeln von ReSharper C++) |
Mit der Codebereinigung Codestile anwenden und Coderedundanzen in einem beliebigen Bereich entfernen | ||
Konfigurierbarer Stil für #include -Direktiven in generiertem Code | ||
Refaktorierungen und Codetransformationen | ||
Feld verkapseln (mit der Aktion Getter und Setter generieren) | ||
Geschweifte Klammern hinzufügen/entfernen | ||
Logischen Ausdruck negieren | ||
Funktionsdefinitionen verschieben | ||
Klasse verschieben | ||
Convert Instance to Pointer und umgekehrt | ||
Simplify Instance Declaration | ||
Methoden in Quelle sortieren | ||
Lambda in Methode umwandeln | ||
Die Spezifizierer = default , = delete , pure oder virtual zu einer Funktion hinzufügen | ||
cv-Modifikatoren anordnen | ||
Convert ?: to if und umgekehrt | ||
Konvertiere #include -Direktive von Winkelklammer zu Anführungszeichen und umgekehrt | ||
Konvertieren zwischen Aufrufen und Pipes | ||
Umwandeln von Klausel in Parametereinschränkung | ||
Typedef-Deklaration zu Alias-Deklaration konvertieren und umgekehrt | ||
In verschachtelte Namespace-Definition konvertieren | ||
Regulären Rückgabetyp zu nachgestelltem Rückgabetyp konvertieren und umgekehrt | ||
Abgeleiteten Typ erstellen:
Klasse, Schnittstelle, Struktur, Schnittstellenklasse, Schnittstellenstruktur, Verweisklasse, Verweisstruktur | ||
Relationalen Operator spiegeln | ||
Operatorargumente spiegeln | ||
Feld anhand von Konstruktorparametern initialisieren | ||
Umkehrung von if -Ausdrücken und ?: -Bedingungen | ||
„auto“ durch explizite Typdeklaration ersetzen | ||
„decltype“ durch den zugrunde liegenden Typ ersetzen | ||
„decltype(auto)“ durch explizite Typdeklaration ersetzen | ||
Deklaration teilen oder mit mehreren Deklarationen verknüpfen | ||
Makroaufruf ersetzen | ||
Vorlagen-Typalias ersetzen | ||
Vorlagenargumente explizit angeben | ||
typedef ersetzen (und optional alle geschachtelten typedefs) | ||
Ersetzen von UNREFERENCED_PARAMETER durch [[maybe_unused]] | ||
Konvertieren zwischen Strings und C++11-Raw-Strings | ||
Templateparameter-Einschränkung in requires -Klausel verschieben | ||
Codegenerierung | ||
Abgeleiteten Typ erstellen | ||
Codeausschnitte/-vorlagen | ||
Datei erstellen (muss zweimal für Header und cpp aufgerufen werden) | Integrierte Dateivorlagen für Klassen und Strukturen (erstellen Header- und CPP-Dateien zugleich) + <benutzerdefinierte Dateivorlagen | |
Reservierte Strings /Umgebungsplatzhalter in Ausschnitten | ||
Navigation & Suche | Gehe zu Deklaration (mit Goto) | |
Zur Implementierung wechseln (mit Goto) | ||
Debugging | ||
Temporär alle aktivierten Haltepunkte deaktivieren | ||
Temporär alle Haltepunkte an den aktuellen Thread binden | ||
Unreal Engine | ||
Engine-Quelle von Navigation ausschließen | Engine-Quelle von der Indizierung ausschließen | |
Unterstützung für UE4-Remoteprozeduraufrufe | ||
Unterstützung des Unreal-Engine-Testframeworks | ||
Unit-Tests | Unit-Test-Unterstützung für Google Test-, Catch 2.5-, Boost.Test- und doctest-Frameworks | |
Verwaltung der Einstellungen | ||
Verschiedenes | ||
Lokalisierte Bedienoberfläche (Chinesisch, Japanisch, Koreanisch) | ||