In CLion können Sie Funktionen, Variablen, Member oder sogar Klassen verwenden, bevor diese deklariert sind. Die IDE hebt diese rot hervor und schlägt einen Quick-Fix vor. Drücken Sie Alt+Enter, um die entsprechende Deklaration hinzuzufügen. Bei Funktionen erkennt CLion auch deren Rückgabetyp sowie deren Parameterarten.
Mit Intentionen können Sie automatisierte Änderungen am Code vorzunehmen, um diesen zu verbessern oder
Ihre Programmierroutine zu vereinfachen. Fügen Sie einem Konstruktor Member und Initialisierer hinzu, wenden Sie De
Morgansche Gesetze auf einen logischen Ausdruck an, bringen Sie typedef
ein, verschieben Sie die Klasse
von Definitionen und vieles mehr. Die Glühbirne in der linken
Randleiste des Editors zeigt an, dass eine oder mehrere Aktionen von Intentionen zur Verfügung stehen; Mit Alt+Enter können Sie
diese anwenden.
Nutzen Sie Live-Templates (Code | Insert Live Template
auswählen oder Strg+J drücken), um ganze Code-Konstrukte
zu erzeugen. Sämtliche gebrauchsfertigen Live-Templates sind in den Einstellungen aufgelistet
(Editor | Live Templates
). Die vorhandenen Templates können beliebig
erweitert und
angepasst werden. Um ein Live-Template auf den Code anzuwenden, geben Sie seine Abkürzung ein und bestätigen Sie mit der Tabulatortaste. Mit der Enter- oder der Tabulatortaste navigieren Sie durch die Variablen der Templates.
Erwägen Sie auch „Surround with“-Templates, um Ihren Code schnell mit kompletten Konstrukten
zu umgeben. Wählen Sie Code | Surround With
oder drücken Sie Strg+Alt+T, um je nach Kontext mühelos if, while,
for, #ifdef
oder andere Wrapper zu generieren.
Das Generierungsmenü von CLion Alt+Einfügen erleichtert Ihnen das Tippen.
Änderungsmethoden (Setter) / Abfragemethoden (Getter), Konstruktoren/Destruktoren, Gleichheit, relationale und Stream-Operatoren sind nur einen Klick entfernt. Wählen Sie die Felder für die Generierung sowie zahlreiche Optionen wie „generate as class members“ und „generate in-place“ aus. Nutzen Sie std::tie
für die Implementierung des Operators und nach Bedarf auch für andere Optionen.
Sind bereits einige Operatoren vorhanden, schlägt Ihnen CLion vor, fehlende zu ergänzen oder bestehende zu ersetzen.
Die volle Leistung der Codegenerierung wird anhand Implementierungsfunktionen (Strg+I), Überschreibungsfunktionen (Strg+O) und der Generierung von Definitionen (Shift+Strg+D) deutlich.
Der Standardwert der Einstellung Generate in-place hängt von Ihrem Code ab. CLion passt sich dem Schema Ihrer Projekte an. Als Unterstützung für die häufigsten Fälle (wie u. a. die Klassen „header-only“ oder „cpp-only“), werden Heuristiken implementiert.
CLion hilft Ihnen, die hohe Qualität Ihres Codes zu wahren, indem es eine Reihe verlässlicher Refaktorierungen zur Verfügung stellt. Anhand der Refaktorierung werden Ihre Änderungen am Code auf sichere Weise für den gesamten Bereich übernommen.
Um sich alle Refaktorierungen anzusehen, die an der aktuellen Position zur Verfügung stehen, verwenden Sie das Menü Refactor This...(drücken Sie Strg+Alt+Umschalt ).
Die Liste der Refaktorierungen umfasst:
Rename Shift+F6 – Zeichen werden umbenannt und alle Referenzen im Code automatisch für Sie korrigiert.
Change Signature Strg+F6 – Ermöglicht Ihnen, Funktionsparameter hinzuzufügen/zu entfernen/umzusortieren, den Ergebnistyp zu ändern oder den Namen der Funktion zu aktualisieren. Alle Verwendungen werden entsprechend angepasst.
Inline Strg+Alt+N – Ersetzt redundante Verwendungs-/Funktionsaufrufe der Variablen anhand des/der Initialisierungsgprogramms/Deklaration.
Extract (Funktion: Strg+Alt+M, Typedef: Strg+Alt+K, Variable: Strg+Alt+V, Parameter: Strg+Alt+P, Define: Strg+Alt+D, Konstante: Strg+Alt+C, Lambda-Parameter) – CLion analysiert hierbei den Codeblock, für den Sie das Refactoring aufgerufen haben, erkennt die In- und Out-Variablen und die Verwendungen des ausgewählten Ausdrucks und ersetzt sie durch ein neu erstelltes Konstrukt Ihrer Wahl.
Mit Pull Members Up/Down werden Member einer Klasse auf sichere Weise in eine Basisklasse/Unterklasse verschoben.
Und vieles mehr.