Unterstützte Spezifikationen von C/C++ | C/C++ | C/C++ |
| C++/CLI | C++/CLI |
| C++/CX | Nicht unterstützt |
| HLSL | HLSL |
Codeanalyse und Korrekturen | Codeanalyse on-the-fly während des Programmierens (Compiler-Fehler und -Warnungen) | On-the-fly-Codeanalyse zur Entwurfszeit (Compilerfehler und -warnungen sowie mehr als 230 proprietäre Codeinspektionen) |
Quick-Fixes zum Lösen von Codeproblemen | Mehr als 290 Quick-Fixes zum Lösen von Codeproblemen |
| Integrierte Clang-Tidy-Diagnose und -Prüfungen | Integrierte Clang-Tidy-Diagnose und -Prüfungen |
| | Integrierte UnrealHeaderTool-Diagnose und -Prüfungen |
| | Rechtschreibprüfung |
| | Includes-Analyzer |
| | Melden aller Fehler und Codequalitätsprobleme in beliebigen Scopes bis hin zur gesamten Lösung |
| | Anpassbare Codeinspektionen: 5 Severity-Stufen können direkt im Alt+Enter-Menü konfiguriert werden |
| | Teilen von Einstellungen für die Codeanalyse auf Lösungs- oder Team-Ebene |
Refaktorierungen und Codetransformationen | Umbenennen | Umbenennen |
Signatur ändern | Signatur ändern |
| Funktion extrahieren | Methode extrahieren |
| Pure-virtual-Funktionen implementieren | Überschreibende Member generieren |
| Deklaration/Definition erstellen | Definition/Implementierung aus Deklaration generieren |
| Funktionsdefinition verschieben | Implementierung aus dem Klassen-Geltungsbereich verschieben |
| In Raw-Stringliteral umwandeln | In Raw-Stringliteral umwandeln und umgekehrt |
| | In scoped enum umwandeln |
| | Feld einführen |
| | Namespace-Alias einführen |
| | typedef einführen |
| | using enum einführen |
| | Variable einführen |
| | Funktion in Inline-Code konvertieren |
| | Variable durch Inline-Code ersetzen |
| | typedef in Inline-Code konvertieren |
| | Mehr als 65 Kontextaktionen (automatisierte lokale Codetransformationen) |
Programmierunterstützung | Codevervollständigung | Code-Completion mit intelligenten Vorschlägen und CamelCase-Matching |
Syntaxhervorhebung | Syntaxhervorhebung (konfigurierbare Farben für mehr als 25 Bezeichnertypen) |
| Tooltips für Codeelemente | Tooltips für Codeelemente mit Syntaxhervorhebung und formatierten Dokumentationskommentaren |
| Auswahl erweitern/verkleinern | Auswahl erweitern oder verkleinern |
| Auswahl auskommentieren (Kommentarsyntax automatisch gewählt) | Auswahl auskommentieren mit Zeilen- oder Blockkommentar |
| Quickinfos und Parameterinfos | Kurzdokumentation und Parameterinformationen |
| | Inlay-Hinweise für Parameternamen, Typnamen, Namensräume, Typumwandlungen und Präprozessordirektiven; Push-to-Hint-Modus |
| | Codeelemente neu anordnen |
| | Fehlende #include -Direktive automatisch hinzufügen |
| | Completion von Importen und Postfix-Completion |
| | Completion von Anweisungen |
| | Enthaltende Deklaration auswählen |
Navigation und Suche | Navigieren zu | Globale Suche |
Gehe zu Deklaration | „Gehe zu Deklaration“ funktioniert auch bei nicht aufgelösten Bezeichnern und Kommentaren und hilft bei der Navigation zwischen Verwendungen und passenden Präprozessor-Direktiven |
| Definition einsehen | Deklarationen, Verwendungen, Basissymbole und Implementierungen einsehen |
| Code-Lesezeichen | Code-Lesezeichen |
| Schnellstart | Aktionen und Einstellungen finden |
| Verweise suchen | Verwendungen finden |
| Diagramm von Include-Dateien erstellen | Hierarchie enthaltener Elemente |
| Aufrufhierarchie | Nicht unterstützt |
| Gehe zu Symbol | Gehe zu Symbol |
| Gehe zu Typ | Gehe zu Typ |
| Gehe zu Datei | Gehe zu Datei |
| Gehe zu Dateielement | Gehe zu Dateielement |
| | „Gehe zu Text“ mit unscharfer Suche |
| | Gehe zu Basis-Symbolen |
| | Gehe zu abgeleiteten Symbolen |
| | Gehe zu zugehörigen Dateien |
| | Gehe zu benachbarter Datei |
| | Gehe zu den letzten Codestellen oder Änderungen |
| | Gehe zu primären Vorlagen oder Spezialisierungen |
| | Zwischen Header/Quelle wechseln |
| | Verwendungen in Datei markieren |
| | Im Editor Vererbungshierarchie nach oben und unten durchlaufen |
| | Haltepunktnavigation gemäß Kontext |
| | Typhierarchie-Ansicht |
| | Dateistruktur |
| | Zwischen Todo-Elementen navigieren |
| | Die aktuelle Datei im Projektmappen-Explorer suchen |
Codegenerierung | Codeausschnitte (Vorlagen) | Code-Snippets (Vorlagen), einschließlich Live, Surround- und Postfix-Vorlagen |
Dateien aus Vorlagen generieren | Dateien aus Vorlagen generieren |
| Code mit Codevervollständigung generieren | Code mit Codevervollständigung generieren |
| | Visueller Editor für Codeausschnitte (Vorlagen) |
| | Vorausdeklaration hinzufügen oder #include -Direktive mit Import-Completion einfügen |
| | Code anhand von Verwendungen generieren |
| | Konstruktoren generieren |
| | Definitionen generieren |
| | Fehlende Case-Anweisungen generieren |
| | Dokumentationskommentare generieren |
| | Fehlende/überschreibende Member generieren |
| | Operatoren fürs Kopieren und Verschieben generieren |
| | Getters und Setters generieren |
| | Gleichheitsoperatoren generieren |
| | Relationale Operatoren generieren |
| | Datenstromvorgänge (einschließlich Boost.Serialization -Funktionen) generieren |
| | Hashfunktion generieren |
| | Austauschfunktion generieren |
| | Methoden für Google Mock generieren |
| | Funktion generieren, die enum zu einem String konvertiert (konfigurierbar) |
| | Fehlende Member generieren |
Codestil und Bereinigung | Code neu formatieren | Formatierungsregeln in wählbarem Gültigkeitsbereich anwenden (ReSharper C++ bietet dazu eigene Formatierungsregeln) |
Unterstützung für EditorConfig | Unterstützung für EditorConfig |
| | Unterstützung für Clang-Format |
| | Formatierungsregeln anhand des bestehenden Codes erlernen |
| | Visueller Editor zum Konfigurieren der Formatierungsregeln für den ausgewählten Code |
| | Informationsfenster für Dateiformatierung, in dem die Einstellungen und Dateien untersucht werden können, die sich auf die aktuelle Datei auswirken |
| | Konfigurierbarer Namensstil mit vordefinierten Schemata (STL, Google, LLVM, CamelCase, Microsoft) |
| | Konfigurierbare Regeln für die Sortierung von #include -Direktiven |
| | Konfigurierbarer Syntaxstil für Initialisierungen, Deklarationen, überschreibende Funktionen, auto -Verwendungen, Positionierung von CV-Qualifizierern und Klammern |
Unit-Tests | Unit-Test-Explorer | Unit-Test-Explorer |
Unterstützung für Microsoft Unit Testing Framework for C++ | Nicht unterstützt |
| Google-Test-Unterstützung | Google-Test-Unterstützung |
| Boost.Test-Unterstützung | Boost.Test-Unterstützung |
| CTest-Unterstützung | Nicht unterstützt |
| | Catch-Unterstützung |
| | doctest-Unterstützung |
| | Tests vom Editor aus ausführen |
| | Mehrere Unit-Test-Sitzungen |
Debugging | DataTips im Editor | Durchsuchbare DataTips mit konfigurierbarer Objektdarstellung im Editor |
Haltepunkt-Toolfenster | Haltepunkte-Toolfenster mit Vorschau, Kontextsuche, Gruppierung und Export |
| | Inline-Überwachung |
| | Schrittfilter |
Unterstützung für die Unreal Engine | | Unterstützung für Namenskonventionen der Unreal Engine |
| Integrierte UnrealHeaderTool-Inspektionen |
| | Arbeiten mit HLSL-Shaderdateien |
| | Unterstützung für Unreal-Engine-Remoteprozeduraufrufe |
| | Codevervollständigung für Unreal-Engine-Reflection-Bezeichner |
| | Unterstützung des Unreal-Engine-Projektmodells mit Code-Completion basierend auf Plugin- und Modulreferenzen |
| | Echtzeit-Updates gemäß den Änderungen in .Build.cs, .Target.cs, .uproject bzw. .uplugin |
Einstellungen verwalten | Einstellungen über die Microsoft ID synchronisieren | Synchronisieren von Einstellungen und benutzerdefinierten Vorlagen mit dem Team über VCS oder beliebige Dateihosting-Dienste |
| | Einstellungsebenen zum Speichern von Projektmappen-spezifischen Einstellungen ohne Konflikte |
| | |