Kilka lat temu napisałem post o konfigurowaniu kodu PHP CodeSniffer w Visual Studio Code (i ostatnio też go zaktualizowałem).
Ale minęły cztery lata od napisania tego posta i od tego czasu wiele może się zmienić, jeśli chodzi o to, jak piszemy kod.
Cztery lata to w przybliżeniu epoka Internetu, prawda?
W każdym razie podstawowe punkty tego artykułu są nadal aktualne, ale jeśli pracujesz nad różnymi projektami, a niektóre z nich wymagają różnych konfiguracji, ustawień i standardów, to sposób, w jaki instalujesz i konfigurujesz PHP CodeSniffer może być inny niż jak go skonfigurować na poziomie systemu.
Więc jeśli jesteś w tej sytuacji, oto jak możesz skonfigurować PHP CodeSniffer na podstawie projektu za pomocą Visual Studio Code.
PHP CodeSniffer na projekt
Ten artykuł zawiera kilka założeń:
- Znasz Composer ,
- Wiesz, jak obsługiwać obszary robocze w kodzie,
- Znasz PHP CodeSniffer (przynajmniej na poziomie globalnym),
- I wiesz, jak pracować z rozszerzeniami kodu .
Jeśli nie masz pewności, przejrzyj ten artykuł, a następnie wróć. Przeprowadzę cię przez resztę.
1 Zainstaluj lokalnie PHP CodeSniffer
Ponieważ różne projekty mogą wymagać różnych zestawów standardów, uważam za przydatne przechowywanie kopii composer.json
i, oczywiście, composer.lock
dla każdego projektu.
Oznacza to, że w katalogu głównym mojego projektu mam composer.json
plik ze wszystkim, czego potrzebuję do danego projektu. W przypadku tego artykułu potrzebuję kopii PHP CodeSniffer.
Aby zainstalować PHP CodeSniffer i najnowszą wersję WordPress Coding Standards na poziomie projektu, utworzę powyższy plik w katalogu głównym mojego projektu, a następnie dołączę następujące elementy:
{
"require": {
"wp-coding-standards/wpcs": "2.3.0",
"squizlabs/php_codesniffer": "3.*"
}
}
W większości przypadków ten plik będzie znacznie bardziej złożony, ale masz ogólne pojęcie o tym, co musisz uwzględnić.
Następnie uruchom, composer install
a to utworzy vendor
katalog w twoim projekcie, który będzie zawierał zarówno standardy kodowania WordPress, jak i PHP CodeSniffer.
2 Skonfiguruj dowiązania symboliczne do lokalnych plików binarnych
W tym momencie przydatne może okazać się utworzenie symbolicznego dowiązania do plików binarnych dla PHPCS i PHPCBF, aby nie kolidować z tym, co uruchamiasz na poziomie globalnym.
Aby to zrobić, w katalogu głównym projektu możesz wpisać w terminalu:
$ ln -s /vendor/bin/phpcs phpcs
$ ln -s /vendor/bin/phpcbf phpcbf
To pozwoli ci uruchomić binaria z twojego terminala. Aby przetestować, wypróbuj następujące polecenie:
$ ./phpcs --version
Powinieneś zobaczyć dane wyjściowe w następujący sposób:
PHP_CodeSniffer version 3.5.5 (stable) by Squiz (http://www.squiz.net)
Jeśli tak, wszystko jest poprawnie skonfigurowane.
3 Zainstaluj rozszerzenie PHP CodeSniffer
Następnym krokiem, prawdopodobnie najłatwiejszym, jest skonfigurowanie rozszerzenia PHP CodeSniffer w kodzie. Masz wiele opcji, ale mam dobre doświadczenia z tym konkretnym rozszerzeniem.
Po zainstalowaniu i ponownym załadowaniu IDE, powinieneś być gotowy do zainstalowania i skonfigurowania PHP CodeSniffer na podstawie projektu.
4 Skonfiguruj swoją przestrzeń roboczą
W kodzie następną rzeczą, którą będziesz chciał zrobić, to skonfigurować PHP Code Sniffer dla twojego konkretnego projektu. Aby to zrobić, najłatwiej jest skonfigurować obszar roboczy dla swojego projektu.
Możesz to zrobić, klikając menu Plik, a następnie polecenie menu Zapisz obszar roboczy jako…. Spowoduje to utworzenie project.code-workspace
pliku, gdziekolwiek zdecydujesz się go dołączyć.
Jeśli kontrolujesz wersję swojego projektu, zalecam trzymanie go w katalogu głównym projektu, aby móc zachować kontrolę wersji. Następnie, jeśli otworzysz ten plik, zauważysz, że jest to JSON i zawiera settings
dyrektywę. W ramach tej dyrektywy dodaj następujące ustawienia:
project.code-workspace
Zauważ, że powyżej wyraźnie mówimy rozszerzeniu, gdzie znajduje się ścieżka do pliku wykonywalnego – to znaczy w vendor
katalogu względem workspace
pliku.
Gdy to zrobisz, powinieneś być w stanie zacząć pisać kod i aktywnie wąchać kod podczas pracy.
Chcieć więcej?
Jeśli interesuje Cię jeszcze bardziej agresywne sniffowanie i naprawianie zapachów kodu i problemów, polecam zapoznanie się z artykułem na GrumPHP.