Einrichten von PHP CodeSniffer pro Projekt
Vor ein paar Jahren habe ich einen Beitrag über das Einrichten von PHP CodeSniffer in Visual Studio Code geschrieben (und ich habe ihn kürzlich auch aktualisiert).
Aber es ist vier Jahre her, seit dieser Beitrag ursprünglich geschrieben wurde, und in dieser Zeit kann sich viel in Bezug darauf ändern, wie wir Code schreiben.
Vier Jahre sind ungefähr ein Internetzeitalter, nicht wahr?
Wie auch immer, die grundlegenden Punkte dieses Artikels bleiben bestehen, aber wenn Sie an einer Vielzahl von Projekten arbeiten und einige davon unterschiedliche Konfigurationen, Einstellungen und Standards erfordern, dann kann die Art und Weise, wie Sie PHP CodeSniffer installieren und konfigurieren, anders sein als wie Sie es auf Systemebene konfigurieren.
Wenn Sie also in dieser Position sind, können Sie PHP CodeSniffer auf Projektbasis mit Visual Studio Code konfigurieren.
PHP CodeSniffer pro Projekt
Dieser Artikel geht von einigen Annahmen aus:
- Sie kennen Composer ,
- Sie wissen, wie man mit Workspaces in Code umgeht,
- Sie sind mit PHP CodeSniffer vertraut (zumindest auf globaler Ebene),
- Und Sie wissen, wie man mit Code- Erweiterungen arbeitet .
Wenn Sie sich bei einem dieser Punkte nicht sicher sind, lesen Sie diesen Artikel und kommen Sie dann zurück. Ich werde Sie durch den Rest führen.
1 Installieren Sie PHP CodeSniffer lokal
Da unterschiedliche Projekte möglicherweise unterschiedliche Standards erfordern, finde ich es nützlich, eine Kopie davon composer.json
aufzubewahren, und zwar composer.lock
auf Projektbasis.
Das bedeutet, dass ich im Stammverzeichnis meines Projekts eine composer.json
Datei mit allem habe, was ich für ein bestimmtes Projekt benötige. Im Fall dieses Artikels benötige ich eine Kopie von PHP CodeSniffer.
Um PHP CodeSniffer und die neueste Version der WordPress Coding Standards auf Projektebene zu installieren, erstelle ich die obige Datei im Stammverzeichnis meines Projekts und füge dann Folgendes hinzu:
{
"require": {
"wp-coding-standards/wpcs": "2.3.0",
"squizlabs/php_codesniffer": "3.*"
}
}
In den meisten Fällen ist diese Datei viel komplexer, aber Sie erhalten eine ungefähre Vorstellung davon, was Sie einfügen müssen.
Führen Sie als Nächstes aus composer install
und dies erstellt ein vendor
Verzeichnis in Ihrem Projekt, das sowohl die WordPress Coding Standards als auch den PHP CodeSniffer enthält.
2 Richten Sie symbolische Links zu den lokalen Binärdateien ein
An dieser Stelle finden Sie es möglicherweise nützlich, einen symbolischen Link zu den Binärdateien für PHPCS und PHPCBF zu erstellen, um nicht mit dem, was Sie auf globaler Ebene ausführen, in Konflikt zu geraten.
Dazu können Sie im Stammverzeichnis des Projekts in Ihrem Terminal Folgendes eingeben:
$ ln -s /vendor/bin/phpcs phpcs
$ ln -s /vendor/bin/phpcbf phpcbf
Auf diese Weise können Sie die Binärdateien von Ihrem Terminal aus ausführen. Um zu testen, ob es aus ist, versuchen Sie den folgenden Befehl:
$ ./phpcs --version
Und Sie sollten die Ausgabe wie folgt sehen:
PHP_CodeSniffer version 3.5.5 (stable) by Squiz (http://www.squiz.net)
Wenn ja, hast du alles richtig eingestellt.
3 Installieren Sie die PHP CodeSniffer-Erweiterung
Der nächste Schritt, der wohl einfachste, besteht darin, die PHP CodeSniffer-Erweiterung in Code einzurichten. Es gibt eine Reihe von Optionen, aber ich habe gute Erfahrungen mit dieser speziellen Erweiterung gemacht.
Sobald es installiert ist und Sie Ihre IDE neu geladen haben, sollten Sie bereit sein, PHP CodeSniffer auf Projektbasis zu installieren und zu konfigurieren.
4 Richten Sie Ihren Arbeitsbereich ein
In Code müssen Sie als Nächstes PHP Code Sniffer für Ihr spezifisches Projekt konfigurieren. Dazu richten Sie am einfachsten einen Arbeitsbereich für Ihr Projekt ein.
Sie können dies tun, indem Sie auf das Menü Datei und dann auf den Menüpunkt Arbeitsbereich speichern unter… klicken. Dadurch wird eine project.code-workspace
Datei erstellt, wo immer Sie sie einschließen möchten.
Wenn Sie die Versionskontrolle Ihres Projekts durchführen, empfehle ich, es im Stammverzeichnis Ihres Projekts zu belassen, damit Sie es in der Versionskontrolle behalten können. Wenn Sie diese Datei als Nächstes öffnen, werden Sie feststellen, dass es sich um JSON handelt und eine settings
Anweisung enthält. Fügen Sie innerhalb dieser Anweisung die folgenden Einstellungen hinzu:
project.code-workspace
Beachten Sie oben, dass wir der Erweiterung explizit mitteilen, wo sich der Pfad zur ausführbaren Datei befindet – das heißt, im vendor
Verzeichnis relativ zur workspace
Datei.
Sobald Sie das getan haben, sollten Sie in der Lage sein, mit dem Schreiben von Code zu beginnen und Ihren Code während der Arbeit aktiv schnüffeln zu lassen.
Mehr wollen?
Wenn Sie an noch aggressiverem Sniffing und der Behebung von Codegerüchen und -problemen interessiert sind, empfehle ich Ihnen, den Artikel über GrumPHP zu lesen.