Integrieren Sie den Clang Static Analyzer (AKA. Scan-Build) in Flycheck, um die statische Analyse der Fliege automatisch als Code durchzuführen.

Dieses Paket nutzt die Konfiguration des vorhandenen c/c++-clang Flycheck Checker oder entweder EMACS-CQUERY, EMACS-CCLs, Irony-Mode oder RTAGs, um die entsprechenden Compiler-Flags für Klang zu liefern. Dieser Checker kleidet sich auch automatisch als nächster flycheck Checker nach c/c++-clang , LSP-UI Flycheck-IRony und Flycheck-Rags, so dass er nur dann ausgeführt wird, wenn der entsprechende vorherige Checker ohne Warnungen zurückgibt. Dies vermeidet den Versuch, die Analyse durchzuführen, wenn syntaktische Fehler usw. vorliegen.
Die bevorzugte Möglichkeit , flycheck-clang-analyzer zu installieren
Um Ihre Init -Datei einfach zu aktivieren, fügen Sie einfach Folgendes hinzu:
( with-eval-after-load 'flycheck
( require 'flycheck-clang-analyzer )
(flycheck-clang-analyzer-setup))Wir empfehlen, das Gebrauchspaket zu verwenden, um diese automatisch zu machen:
( use-package flycheck-clang-analyzer
:ensure t
:after flycheck
:config (flycheck-clang-analyzer-setup)) Wenn Sie das Paket manuell installieren möchten, es herunterladen oder klonen und in EMACS ' load-path platzieren möchten, können Sie es in Ihrer Init-Datei wie folgt benötigen:
( require 'flycheck-clang-analyzer )
(flycheck-clang-analyzer-setup) Hinweis: Dies erfordert auch die manuelle Installation von flycheck , wenn Sie dies noch nicht getan haben.
Dies sollte mit einer Null-Konfiguration funktionieren, da wir versuchen, die Konfiguration vorhandener Flycheck Checker vorhanden zu nutzen.
Die einzige Konfigurationsoption ist flycheck-clang-analyzer-executable die der Pfad zum ausführbaren Klang ist-diese Standardeinstellung zu clang . Wenn Sie dies jedoch in etwas anderes ändern müssen, setq es einfach nach dem Aufrufen (flycheck-clang-analyzer-setup) -also, um clang-3.8 anstelle von clang zu verwenden:
( setq flycheck-clang-analyzer-executable " clang-3.8 " )
(flycheck-clang-analyzer-setup)Copyright © 2018 Alex Murray
Verteilt unter GNU GPL, Version 3.