Beta-Test des PVS-Studio-Plugins für JetBrains CLion

Beta-Test des PVS-Studio-Plugins für JetBrains CLion

Visual Studio von Microsoft war lange Zeit die wichtigste Entwicklungsumgebung für die Arbeit mit dem PVS-Studio-Analyzer. Unser Analysetool startete unter Windows, daher war Visual Studio eine naheliegende und vernünftige Wahl. In mehr als 10 Jahren PVS-Studio-Entwicklung ist der Analysator für mehrere andere Sprachen und Plattformen verfügbar geworden. Kein Wunder, dass Leute uns fragen, ob wir PVS-Studio in ihre bevorzugten IDEs integrieren können.

Vor einem Jahr, am 18. Juni 2020, haben wir die erste Version des PVS-Studio-Plugins für die JetBrains Rider-Umgebung veröffentlicht. Dieses Ereignis fiel mit einem weiteren Meilenstein zusammen – der Veröffentlichung von PVS-Studio C# für Linux und macOS.

Wir freuen uns, Ihnen heute mitteilen zu können, dass wir mit dem öffentlichen Betatest eines Plugins für eine andere IDE von JetBrains – CLion – beginnen. Wir glauben, dass plattformübergreifende Linux- und C++-Benutzer aufgrund dieser Änderung bessere Erfahrungen mit der Verwendung unseres Produkts machen werden. Basierend auf Beta-Tests hoffen wir, die erste CLion-Plugin-Version in der kommenden PVS-Studio 7.14-Version Ende Juli bis Anfang August veröffentlichen zu können.

Nehmen Sie am Betatest von PVS-Studio für CLion teil

Um das Plug-in vollständig zu testen, müssen Sie sowohl die Beta-Plug-in-Version als auch die C++ Core-Beta-Version des Analysetools installieren. Es gibt mehrere Möglichkeiten, das Plugin zu installieren:aus dem offiziellen Repository, aus dem Repository auf unserer Website oder mit dem Windows PVS-Studio-Installationsprogramm. Nachfolgend erklären wir Ihnen ausführlich, wie das geht.

Nachdem Sie das Plugin und den Analysator installiert haben, können Sie sich auf unserer Early-Access-Seite für den Beta-Test von PVS-Studio für CLion registrieren. Sie erhalten einen Trial Analyzer Key per E-Mail.

Hier finden Sie die ausführliche Dokumentation zur Installation und Arbeit mit PVS-Studio für CLion- und Rider-Plugins. Nachfolgend finden Sie eine kurze Anleitung zur Installation und ersten Ausführung von PVS-Studio in CLion.

Jeder Beta-Test sammelt das Feedback der Benutzer zu einem neuen Produkt, zur Benutzerfreundlichkeit und zu unvermeidlichen Fehlern, die in frühen Versionen immer vorhanden sind. Dieser Beta-Test ist keine Ausnahme. Wenn Sie einen Fehler gefunden haben oder einfach nur Ihre Erfahrungen mit dem neuen PVS-Studio-Plug-in teilen möchten, antworten Sie auf die E-Mail, die Sie bei der Registrierung für unseren Beta-Test erhalten haben, oder kontaktieren Sie uns über das Feedback-Formular.

Installation aus dem offiziellen Repository

Führen Sie CLion aus und wählen Sie Datei->Einstellungen->Plugins, wählen Sie dann die Registerkarte Marktplatz und geben Sie „PVS-Studio“ in das Suchfeld ein. Installieren Sie als Nächstes das Plug-in PVS-Studio für CLion.

So installieren Sie das Plugin aus dem PVS-Studio-Repository

Dieser Schritt ähnelt dem vorherigen, aber zuerst müssen Sie CLion für ein neues Repository einrichten. Gehen Sie dazu zu Datei->Einstellungen->Plugins, klicken Sie auf das "Zahnrad"-Symbol auf der rechten Seite des Fensters und wählen Sie Plugin-Repositories verwalten aus dem Dropdown-Menü.

Fügen Sie im geöffneten Fenster den Pfad http://files.pvs-studio.com/java/pvsstudio-clion-plugins/updatePlugins.xml hinzu. Klicken Sie auf OK.

Als nächstes installieren Sie das Plugin ähnlich wie im vorherigen Schritt.

Installation mit Windows Installer

Wenn Sie ein Windows-Betriebssystem verwenden, können Sie das Plugin und den Analysekern aus der Distribution installieren. Laden Sie dazu das Installationsprogramm von hier herunter und führen Sie es aus. Laden Sie die Installationsdatei „.exe“ in der Windows-Spalte der Tabelle herunter.

Installation der C++-Analyzer-Betaversion

Neben dem Plugin selbst müssen Sie auch den C++ Analyzer Core installieren. Auf diese Weise funktioniert PVS-Studio korrekt in CLion. Folgen Sie dazu diesem Link und laden Sie eine Distribution für Ihre Plattform herunter. Wenn Sie eine Distribution für Windows installiert haben, können Sie diesen Schritt überspringen.

Wenn Sie unter Linux oder macOS arbeiten, können Sie auch die folgenden Installationsbefehle verwenden:

Für Debian-basierte Systeme:

wget -q -O - https://files.pvs-studio.com/beta/etc/pubkey.txt | \
  sudo apt-key add -

sudo wget -O /etc/apt/sources.list.d/viva64-beta.list \
  https://files.pvs-studio.com/beta/etc/viva64.list
 
sudo apt-get update
sudo apt-get install pvs-studio

Für Yum-basierte Systeme:

wget -O /etc/yum.repos.d/viva64-beta.repo \
  https://files.pvs-studio.com/beta/etc/viva64.repo
 
yum update
yum install pvs-studio

Für Zypper-basierte Systeme:

wget -q -O /tmp/viva64-beta.key https://files.pvs-studio.com/beta/etc/pubkey.txt
sudo rpm --import /tmp/viva64-beta.key
sudo zypper ar -f https://files.pvs-studio.com/beta/rpm viva64-beta
sudo zypper update
sudo zypper install pvs-studio

Für macOS:

brew install viva64/pvs-studio/pvs-studio-beta

Produktregistrierung

Nachdem Sie sich als Betatester registriert und einen Registrierungsschlüssel erhalten haben, gehen Sie zum Fenster Tools->PVS-Studio->Einstellungen, um die Lizenz zu aktivieren. Gehen Sie im Einstellungsfenster auf die Registerkarte Registrierung.

Geben Sie in den Feldern Benutzername und Seriennummer die entsprechenden Lizenzdaten ein. Eine kurze Erinnerung - Sie können den Registrierungsschlüssel hier erhalten:Seite für frühen Zugriff.

Erste Erfahrung mit dem Plugin

Nach der Installation und Konfiguration sieht das Plugin ungefähr wie im folgenden Screenshot aus.

Das Plug-in ermöglicht Ihnen, in CLion geöffnete CMake-Projekte sowie einzelne ausgewählte Dateien zu analysieren.

Um die Analyse auszuführen, klicken Sie auf Tools->PVS-Studio->Projekt prüfen.

Um ausgewählte Dateien zu analysieren, klicken Sie auf Extras -> PVS-Studio -> Aktuelle Datei prüfen.

Siehe Analyseergebnisse im PVS-Studio-Fenster:

Eine Tabelle, die aus Spalten mit Warnfehlercodes, Problembeschreibungen, Positionen usw. besteht.

Ein Rechtsklick auf die PVS-Studio Analyser-Nachricht öffnet ein Kontextmenü, das zusätzliche Befehle für ausgewählte Analyser-Nachrichten enthält.

'Ausgewählte Meldungen als Fehlalarme markieren / Fehlalarmmasken entfernen' markiert die Analysatorwarnung als Fehlalarm. Der Befehl fügt den Code, der eine Warnung ausgelöst hat, und einen speziellen Kommentar hinzu.

'Aus Analyse ausschließen' fügt einen Pfad oder einen Teil des Pfades zur Liste der von der Analyse ausgeschlossenen Verzeichnisse hinzu. Ein Pfad oder ein Teil des Pfads zeigt wiederum die Datei mit einer Analysatorwarnung an. Alle Dateien, die unter diesen Filter fallen, werden von der Analyse ausgeschlossen.

Ein Doppelklick mit der linken Maustaste auf die Zeile öffnet eine Datei in genau der Zeile, in der die Analyser-Warnung gefunden wurde.

Plugin-Setup

Um das Plugin-Einstellungsfenster zu öffnen, gehen Sie zu Tools->PVS-Studio->Settings. Das Plugin-Einstellungsfenster hat mehrere Registerkarten. Sehen wir uns jeden von ihnen genauer an.

Einstellungen — Kerneinstellungen des PVS-Studio-Analyzers. Wenn Sie die Maus über den Namen einer Einstellung bewegen, erscheint ein Hinweis, der beschreibt, wofür die Einstellung ist.

Warnungen — Liste aller Warnungstypen, die vom Analysator unterstützt werden. Wenn Sie eine Warnung deaktivieren, werden alle Warnungen dieses Typs in der Analyseausgabetabelle gefiltert:

Ausschlüsse — enthält Masken für Dateinamen und Pfade, die von der Analyse ausgeschlossen werden.

So beginnen Sie mit der Verwendung von Analyzer in einem großen Legacy-Projekt

Zahlreiche vorhandene Analyse-Warnungen zu Legacy-Code beeinträchtigen häufig die regelmäßige Verwendung der statischen Analyse. Solcher Code ist normalerweise gut getestet und funktioniert stabil. Daher ist es möglicherweise nicht praktikabel, alle vorhandenen Analysatorwarnungen zu korrigieren. Dies kann lange dauern, insbesondere wenn die Codebasis groß genug ist. Warnungen für vorhandenen Code verwechseln sich mit denen, die auf dem neuen Code generiert wurden, der sich noch in der Entwicklung befindet.

Um dieses Problem zu lösen und die statische Analyse regelmäßig zu verwenden, bietet PVS-Studio die Möglichkeit, Nachrichten für den alten Code zu "deaktivieren". Um Analysatormeldungen für den alten Code zu unterdrücken, verwenden Sie den Hauptmenübefehl „Extras -> PVS-Studio -> Alle Meldungen unterdrücken“ oder die Schaltfläche „Alle Meldungen unterdrücken“ im PVS-Studio-Fensterbereich. Der Unterdrückungsmechanismus funktioniert wie folgt. Zuerst führen Sie den Befehl „Alle Nachrichten unterdrücken“ aus. Unterdrückte Warnungen landen dann in speziellen Unterdrückungsdateien. Wenn Sie die Analyse später starten, werden alle Meldungen, die solchen Unterdrückungsdateien hinzugefügt wurden, nicht im Analysebericht angezeigt. Das Unterdrückungssystem mit Unterdrückungsdateien ist ziemlich flexibel. Angenommen, Sie haben Codefragmente geändert oder verschoben, die unterdrückte Warnungen auslösen. Das System kann solche Nachrichten immer noch "verfolgen".

In CLion werden unterdrückte Warnungen zu suppress_base.json hinzugefügt. Diese Datei wird in das Verzeichnis .PVS-Studio im Stammverzeichnis des in CLion geöffneten Projekts geschrieben. Um alle Meldungen an die Analyseausgabe zurückzugeben, löschen Sie diese Datei und starten Sie die Analyse erneut.

Lesen Sie den Artikel "Wie man einen statischen Code-Analysator in ein Legacy-Projekt einführt und das Team nicht entmutigt".

So speichern und laden Sie Analyseergebnisse herunter

Um die Analyseergebnisse zu speichern oder zu laden, verwenden Sie die Hauptmenübefehle in 'Tools -> PVS-Studio':

„Bericht öffnen“ öffnet die .json-Berichtsdatei und lädt ihren Inhalt in das Raster des „PVS-Studio“-Fensters hoch.

Das Untermenü „Neueste Berichte“ zeigt eine Liste der zuletzt geöffneten Berichtsdateien. Wenn der Bericht nach Pfad noch vorhanden ist, wird durch Klicken auf eine Berichtsdatei in der Liste der entsprechende Bericht geöffnet. Der Inhalt wird in das 'PVS-Studio'-Fenster hochgeladen.

„Bericht speichern“ speichert alle Nachrichten aus dem Fenster (auch die gefilterten) in der .json-Berichtsdatei. Wenn die aktuelle Analyse noch nicht gespeichert wurde, müssen Sie einen Namen und einen Speicherort für den Bericht angeben.

In ähnlicher Weise speichert „Bericht speichern unter“ alle Warnungen aus dem Fenster (auch die gefilterten) in der .json-Berichtsdatei, wobei Sie immer auswählen können, wo der Bericht gespeichert werden soll.

Inkrementelle Analyse

Wir empfehlen normalerweise, die vollständige Analyse regelmäßig durchzuführen, z. B. einmal täglich nachts. Zusätzlich zur nächtlichen Analyse empfehlen wir dringend, neuen Code sofort nach dem Schreiben zu überprüfen. Auf diese Weise erhalten Sie den besten Nutzen aus der Verwendung des Analysators. Verwenden Sie dazu die inkrementelle Analyse, die wie folgt funktioniert. Ein Projekt wurde geändert, ein Entwickler führt einen Build aus. Nach erfolgreicher Kompilierung werden nur geänderte Dateien analysiert. Geänderte Dateien sind diejenigen, die seit der vorherigen Analyse geändert wurden.

Sie können die inkrementelle Analyse aktivieren oder deaktivieren. Wählen Sie die Option Tools->PVS-Studio->Analysis after Build (Nur modifizierte Dateien) und dann Enabled oder Disabled.

Schlussfolgerung

Durch Hinzufügen der Unterstützung für eine neue IDE – JetBrains CLion – hoffen wir, unseren Analysator für C++-Benutzer auf allen unterstützten Plattformen (Windows, Linux, macOS) bequemer zu machen. Obwohl es immer noch viele Entwicklungsumgebungen ohne direkte PVS-Studio-Integration gibt, planen wir, abgesehen von der Möglichkeit, die standardmäßige Anzeigefunktion für Compiler-Warnungen zu verwenden, die Anzahl der IDEs, die wir direkt unterstützen, in Zukunft zu erhöhen.

Basierend auf dem Interesse unserer Benutzer wird Visual Studio Code der wahrscheinlichste nächste Kandidat für eine solche Unterstützung sein. Bitte schreiben Sie uns, wenn Sie möchten, dass unser Analyser direkt in "Ihre" IDE integriert wird. Ihre Idee kann auch Teil unserer Pläne werden.

Und zum Schluss möchte ich Sie noch einmal daran erinnern, dass Sie sich für den Beta-Test anmelden und uns über das Feedback-Formular Ihre Probleme und Wünsche mitteilen können.