Dies ist ein C/C ++ - Code -Analyse -Plugin für VSCODE, das Fehlerberichte zeigt, die vom Clang Static Analyzer und Clang Tidy Analysatoren unter Verwendung von Codechecker als Backend erkannt wurden.

PATH hinzu.compile_commands.json -Datei zu generieren.F9 / Shift-F9 standardmäßig) 


Codechecker arbeitet mit dem Lesen einer generierten Kompilierungsdatenbank, die häufig als compile_commands.json bezeichnet wird und spezifische Analysen basierend darauf ausführt.
CMake hat integrierte Unterstützung für die Generierung einer Kompilierungsdatenbank. Legen Sie die Umgebungsvariable CMAKE_EXPORT_COMPILE_COMMANDS=ON , und die Kompilierungsdatenbank sollte sich in Ihrem Build -Ordner befinden. Wenn Sie die CMake Tools -Erweiterung für VS -Code verwenden, können Sie dieses Flag den Erweiterungseinstellungen unter Cmake > Build Environment hinzufügen.
make und andere Build-Systeme haben keine integrierte Unterstützung für die Generierung einer Kompilierungsdatenbank, aber Codechecker kann eine basierend auf dem Build-Befehl generieren. Um einen zu generieren, können Sie den Befehl CodeChecker log -b "[full build command]" -o .codechecker/compile_commands.json verwenden.
Um den Prozess zu automatisieren, bietet die Erweiterung Möglichkeiten zum automatischen Ausführen des CodeChecker log . Setzen Sie zuerst in den Erweiterungseinstellungen CodeChecker > Executor > Log build command und verwenden Sie dann entweder die VS -Code -Aufgabe oder den Befehl vs Code CodeChecker: Run CodeChecker Log , um die Analyse auszuführen. Sie können auch CodeChecker: Preview CodeChecker log in terminal um eine feinkörnigere Kontrolle über die an CodeCecher übergebenen Parameter zu haben.
Die Erweiterung verwendet die Codechecker Version 6.18.2 oder höher. Wenn Ihr Installationspfad unterschiedlich ist oder Codechecker nicht in der PATH liegt, kann der Pfad dazu unter Preferences > Settings > Extensions > CodeChecker > Executable path manuell eingestellt werden.
Die Erweiterung kann eine CodeChecker -Analyse in Ihrem Projekt ausführen, entweder beim Speichern einer Datei oder bei Verwendung eines der CodeChecker: Analyze -Befehle. Sie können die Analyse stoppen, indem Sie auf die Schaltfläche Abbrechen auf die Benachrichtigung von Codechecker klicken - teilweise Ergebnisse werden automatisch gespeichert.
Die Analyse ist vollständig konfigurierbar, und die resultierende Codechecker -Befehlszeile kann mit dem Befehl CodeChecker: Show full command line (für unterstützte Argumente, Run CodeChecker analyze --help ). Einstellungen für den aktuellen Arbeitsbereich können in den Einstellungen auf der Registerkarte "Arbeitsbereich" festgelegt werden. Eine automatische Analyse zum Speichern kann ebenfalls konfiguriert werden.
Detaillierte Informationen zu den Konfigurationsoptionen finden Sie unter Einstellungen.
Die Erweiterung enthält die folgenden Befehle:
| Befehl | Beschreibung |
|---|---|
CodeChecker: Analyze current file | Analysiert die aktuell geöffnete Quelldatei mit Codechecker. Kann auch aufgerufen werden, indem Sie auf die Schaltfläche Re-analyze current file im Seitenfeld von CodeCecher.Nützlich, wenn der Run On Save in den Einstellungen des Plugins ausgeschaltet ist. |
CodeChecker: Analyze selected files... | Analysiert die vom Benutzer ausgewählten Dateien mit Codechecker. Akzeptiert mehrere Dateien als Eingabe. |
CodeChecker: Analyze entire project | Analysiert das gesamte Projekt mit Codechecker. Kann auch aufgerufen werden, indem Sie auf die Schaltfläche Re-analyze entire project .Warnung: Eine vollständige Analyse kann bei größeren Projekten Minuten oder sogar Stunden dauern. |
CodeChecker: Stop running CodeChecker instance | Stoppt die aktuell laufende Analyse. Teilere Ergebnisse werden gespeichert und aktualisiert. |
CodeChecker: Run CodeChecker log | Aktualisiert die Kompilierungsdatenbank, indem Sie das aktuelle Projekt erstellen. Eine Variante mit einem benutzerdefinierten Befehl benutzerdefinierter Build ist ebenfalls verfügbar. |
CodeChecker: Preview CodeChecker log in terminal | Der aktuelle Codechecker -Protokollbefehl wird in ein neues Terminalfenster eingefügt, in dem er vor dem Ausführen bearbeitet werden kann. |
CodeChecker: Show database setup dialog | Zeigt den Dialog an, um den Pfad zu einer vorhandenen Kompilierungsdatenbank auszuwählen oder eine neue zu erstellen. |
CodeChecker: Next reproduction step ,CodeChecker: Previous reproduction step | Bewegt sich zwischen den Schritten eines angezeigten Reproduktionspfades. Sie können auch direkt zu einem Bericht eines Berichts über das Seitenfeld von Codechecker navigieren. Standardschlüsselbindungen: Ctrl-F7 , Ctrl-Shift-F7 . |
CodeChecker: Show full CodeChecker analyze command line | Zeigt die vollständige Codechecker -Befehlszeile an, die zur Analyse von Dateien verwendet wird. Nützlich, wenn Sie vor dem Ausführen die Optionen des Analysators überprüfen möchten oder wenn Sie die Analyse manuell ausführen möchten. |
CodeChecker: Show Output | Fokussiert die Ausgabe von Codechecker im Editor. Die Protokolle des Plugins sowie die Ausgabe früherer Codechecker -Läufe werden hier angezeigt. |
CodeChecker: Reload metadata | Laden Sie Codecheckers metadata.json -Datei neu. Kann auch aufgerufen werden, indem Sie auf die Schaltfläche Reload CodeChecker metadata . |
Die Analysebefehle sind auch in Aufgabenform verfügbar:
| Aufgabe | Gleichwertiger Befehl |
|---|---|
{ type: "CodeChecker", taskType: "currentFile" } | CodeChecker: Analyze current file |
{ type: "CodeChecker", taskType: "selectedFiles", selectedFiles: [] } | CodeChecker: Analyze selected files...Ausgewählte Dateien werden im Array selectedFiles unter Verwendung der vollständigen Pfade aufgeführt. |
{ type: "CodeChecker", taskType: "project" } | CodeChecker: Analyze entire project |
{ type: "CodeChecker log" } | CodeChecker: Run CodeChecker log |
{ type: "CodeChecker log", customBuildCommand: "..." } | CodeChecker: Run CodeChecker log with custom build command |
Da codechecker-bezogene Pfade zwischen den Systemen stark variieren, werden die folgenden Einstellungen bereitgestellt, die über das Menü "Einstellungen" zugänglich sind:
| Name | Beschreibung |
|---|---|
| Codechecker> Backend> Ausgangsordner (Standard: ${workspaceFolder}/.codechecker ) | Der Ausgangsordner, in dem die Codechecker -Analysedateien gespeichert werden. |
| Codechecker> Backend> Kompilierungsdatenbankpfad (Standard: (leer) ) | Pfad zu einer benutzerdefinierten Kompilierungsdatenbank im Falle eines benutzerdefinierten Build -Systems. Das Dialogfeld "Datenbank -Setup" legt den Pfad nur für den aktuellen Arbeitsbereich fest. Lassen Sie leer, um die Datenbank im Ausgangsordner von Codechecker zu verwenden, oder um die Autodetektion von Codechecker für Multi-Root-Arbeitsbereiche zu verwenden. |
| Codechecker> Editor> Benutzerdefinierte Fehlerschwere (Standard: null ) | Steuern Sie, wie ein Fehler im Editor angezeigt wird, je nachdem, was seine Schwere ist. Fehler können als "Fehler", "Warnung", "Informationen" oder "Hinweis" angezeigt werden. Standardmäßig wird alles außer dem Style -Schweregrad als Fehler angezeigt. Als Array konfiguriert, wie { "UNSPECIFIED": "Warning", "LOW": "Warning" } |
| Codechecker> Editor> Datenbankdialog anzeigen (Standard: on ) | Steuert den Dialog beim Öffnen eines Arbeitsbereichs ohne Kompilierungsdatenbank. |
| Codechecker> Editor> Codelens aktivieren (Standard: on ) | Aktivieren Sie die Codelens für die Anzeige des Reproduktionspfads im Editor. |
| Codechecker> Executor> Benachrichtigungen aktivieren (Standard: on ) | Aktivieren Sie den codechecker-bezogenen Toastbenachrichtigungen. |
| Codechecker> Executor> ausführbarer Pfad (Standard: CodeChecker ) | Pfad zum ausführbaren Codechecker. Kann eine ausführbare Datei in der PATH oder ein absoluter Weg zu einem sein. |
| Codechecker> Executor> Analyse Timeout (Standard: 60 ) | Das Timeout (in Sekunden) für jede einzelne Analyse, die vom Befehl codechecker analyse ausgeführt wird - auf 0 gesetzt, um das Timeout zu deaktivieren. |
| Codechecker> Executor> Threadzahl (Standard: (leer) ) | Codecheckers Thread Count - Lassen Sie leer, um alle Threads zu verwenden. |
| Codechecker> Executor> Argumente (Standard: (leer) ) | Zusätzliche Argumente für CodeChecker analyze . Wenn Sie beispielsweise eine Konfigurationsdatei für den Codechecker-Pass verwenden möchten, "--config <config.json>". Für unterstützte Argumente run CodeChecker analyze --help .HINWEIS: Die resultierende Befehlszeile kann mit dem Befehl CodeChecker: Show full CodeChecker analyze command line . |
| Codechecker> Executor> Befehl für Protokollerstellung (Standard: make ) | Der Standard -Build -Befehl, der beim Ausführen CodeChecker log über Befehle oder Aufgaben verwendet wird. |
| Codechecker> Executor> Protokollargumente (Standard: (leer) ) | Zusätzliche Argumente für CodeChecker log .HINWEIS: Die resultierende Befehlszeile kann mit dem Befehl CodeChecker: Preview CodeChecker log in terminal vorsichtigen. |
| Codechecker> Executor> Ausführen auf Speichern (Standard: on ) | Kontrolliert das automatische Codechecker beim Speichern einer Datei. |
Hinweis : Wenn Sie diese Erweiterung bereits vom Marktplatz installiert haben, können Sie zuerst deinstallieren, um Konflikte mit Ihrem eigenen Build zu verhindern.
Diese Erweiterung verwendet node.js (v12+) und Garn (v2+). Empfohlene VS -Code -Erweiterungen sind Eslint- und TypeScript+WebPack -Problemstürmer
Um die Erweiterung zu bauen und auszuführen, machen Sie Folgendes:
yarn install --immutable , um Abhängigkeiten zu installierencode . ) Um Tests auszuführen, wählen Sie Erweiterungstests als aktive Debug -Konfiguration aus oder führen Sie yarn run test aus.
Die Erweiterung wird unter der Apache 2.0 -Lizenz, derselben Lizenz wie CodeChecker, veröffentlicht.