CLion überprüft Ihren Code ständig auf potentielle Fehler. Wird ein solcher gefunden, wird der entsprechende Codeabschnitt im Editor markiert. In der Randleiste auf der rechten Seite des Editors sehen Sie gelbe und rote Fehlermarkierungen. Durch Anklicken gelangen Sie direkt zur entsprechenden Meldung. Zudem können Sie von einem markierten Fehler zum nächsten springen, indem Sie F2/Shift+F2 drücken. Eine Zusammenfassung oberhalb der Randleiste zeigt den Status der Datei an.
CLion findet nicht nur Kompilierungsfehler, sondern erkennt auch ineffizienten Code und ist zudem in der Lage, eine Datenflussanalyse Ihres Codes durchführen. Dadurch lassen sich unerreichbare/ungenutzte Codeabschnitte sowie andere Probleme und „Code Smells“ lokalisieren.
Die Code-Inspektionen in Echtzeit von CLion sind in der Lage, etwa 40 potentielle Problemfälle in C/C++ Code und zahlreichen anderen Programmiersprachen zu erkennen.
Zeigen Sie mit dem Mauszeiger auf ein markiertes Problem und drücken Sie Alt+Enter. Ihnen werden verschiedene Quick-Fix-Lösungen angezeigt. (Alternativ können Sie die Glühbirne neben der Zeile anklicken, um in das Kontextmenü zu gelangen.)
Ähnliche Probleme lassen sich zudem im gesamten Projekt gleichzeitig beheben. Wenn Sie die Inspektion nicht als hilfreich erachten, können sie diese für den gewünschten Bereich deaktivieren.
CLion stellt für alle verfügbaren Inspektionen ausführliche Beschreibungen zur Verfügung. Sie können nicht nur deren Gewichtung (wählen Sie zwischen Schreibfehler, Warnung, Fehler, etc.) bestimmen, sondern in einigen Fällen auch die Parameter der Inspektion anpassen, um Ihre Anforderungen besser einzubinden.
Im Batch-Modus können Sie mit Code | Inspect Code
mehrere Inspektionen (oder auch alle) gleichzeitig ausführen.
Indem Sie den Befehl „Run inspection by name“ (Strg+Alt+Shift+I) ausführen und einen beliebigen Bereich wählen, können Sie ein bestimmtes Problem ausfindig machen und aus Ihrer gesamten Codebasis entfernen. Die Ergebnisse der Inspektion werden in einem separaten Fenster angezeigt. Dort können sie die Problemkategorien neu ordnen und, soweit möglich, Quick-Fixes auf alle Probleme anwenden.
CLion wird mit Clang-Tidy-Integration ausgeliefert. Clang-Tidy-Überprüfungen werden in gleicher Weise dargestellt wie die in CLion integrierten Inspektionen. Quick-Fixes stehen mittels Alt+Enter ebenfalls zur Verfügung.
Öffnen Sie Settings/Preferences | Editor | Inspections | C/C++ | General | Clang-Tidy, um die Liste der aktivierten/deaktivierten Überprüfungen in CLion anzupassen. Im Textfeld findet das Kommandozeilenformat von Clang-Tidy Anwendung. Die Standardkonfiguration finden Sie hier. Anstelle der über die IDE bereitgestellten Einstellungen können auch .clang-tidy-Konfigurationsdateien verwendet werden.
Aktivieren Sie die Prüfungen für C++ Core Guidelines oder Clang Static Analyzer, probieren Sie die Modernize-Prüfungen aus oder implementieren Sie sogar Ihre eigenen Prüfungen, die Sie sofort in CLion nutzen können (für eigene Prüfungen geben Sie unter Settings/Preferences | Languages & Frameworks | C/C++ den Pfad zu Ihrer eigenen Clang-Tidy-Programmdatei an).
Die spezielle Clangd-basierte Engine in CLion ermöglicht verschiedene Inspektionen:
Die Überprüfung „Unused Includes“ bietet drei Erkennungsstrategien: konservativ, aggressiv und die Standardeinstellung Detect not directly used, die dem Prinzip „Genutzte Elemente inkludieren“ am nächsten kommt.
Die Datenflussanalyse (DFA) verfolgt die Datenflüsse in Ihrem Code und erkennt anhand dieser Analyse potenzielle Probleme. Neben der lokalen DFA (die eine einzelne Funktion betrachtet) bietet CLion auch eine globale DFA, die eine gesamte Übersetzungseinheit innerhalb eines Programms analysiert. Die globale DFA erweitert nicht nur die bereits vorhandenen Prüfungen, sondern ermöglicht auch einige neuartige Inspektionen.
CLion enthält Prüfungen aus MISRA C 2012 und MISRA C++ 2008. Die vollständige Liste der unterstützten Prüfungen pflegen wir auf unserer Confluence-Seite, damit Sie die Fortschritte jederzeit verfolgen können.