macOSのVisual Studio CodeでPHP CodeSniffer & WordPressコーディング規約によるコードチェック環境を構築
web制作当サイトでは、WordPress標準や配布されているテーマは使用せず自作しています。
一応、WordPressのテーマチェック機能を使い使用していない機能を除いて問題がないかチェックはしていますが、正直ちゃんと出来ているのかまだまだ不安な部分があったりします。
先日、いつも「信州 WordPress Meetup」でお世話になっているとろゆに(@Toro_Unit)さんから「PHP CodeSnifferとかでコーディング規約のチェックしてみると良い」とアドバイスいただいたので早速WordPressコーディング規約を含めてインストールしましたが、Visual Studio Codeとの連携でちょっとつまずいたので環境構築手順を備忘録的にまとめてみました。
PHP CodeSnifferとは
PHPのコーディング規約チェックをしてくれるツールです。
Homebrew & Composerのインストール
PHP CodeSnifferをインストールするにはいくつか方法がありますが、私はComposerを使ってインストール。
まずはComposerのインストールですが、Homebrewを使うとターミナルから以下のコマンド1つでインストールできるのでとても簡単です。
brew install composer
以下のコマンドを実行してバージョン情報が出れば正常にインストールされています。
composer
※執筆当時のバージョンは 1.8.4
なお、Homebrewの未インストールの場合はこちら。
Homebrew公式サイト
PHP CodeSnifferのインストール
続いて、ComposerでPHP CodeSnifferのインストールですが、こちらもコマンド1つで簡単!
composer global require "squizlabs/php_codesniffer=*"
以下のコマンドを実行してバージョン情報が出れば正常にインストールされています。
.composer/vendor/bin/phpcs --version
※執筆当時のバージョンは 3.4.0 で、
/Users/{USERNAME}/.composer
にインストールされます。
PHP CodeSnifferのパスを登録
インストールできたら、
/Users/{USERNAME}/.composer/vendor/bin
へパスを登録しておくことで、phpcs のみでコマンド実行出来るようになります。
パスの登録は以下のコマンドを実行します。
echo 'export PATH=$HOME/.composer/vendor/bin:$PATH' >> ~/.bash_profile source ~/.bash_profile
終了したら、以下のコマンドを実行してバージョン情報が表示されたら登録完了です。
phpcs --version
WordPressコーディング規約のインストール
次にPHP CodeSnifferで使用するWordPressコーディング規約をインストールします。
こちらもComposerでインストールすると簡単です。
composer global require wp-coding-standards/wpcs
※執筆当時のバージョンは 2.0.0
PHP CodeSnifferにWordPressコーディング規約を設定
コーディング規約がインストールできたら、PHP CodeSnifferで使えるように以下のコマンドで設定をします。
phpcs --config-set installed_paths ~/.composer/vendor/wp-coding-standards/wpcs
以下のコマンドを実行し、「WordPress, WordPress-Extra, WordPress-Docs and WordPress-Core」が含まれていれば設定完了です。
phpcs -i
Visual Studio Codeの機能拡張インストールと設定
左下の管理アイコンから機能拡張を選択し、「PHPCS」を検索してインストールします。
続いて、設定から機能拡張のPHPCSを選択し「Executable Path」の項目に
/Users/{USERNAME}/.composer/vendor/squizlabs/php_codesniffer/bin/phpcs
を入力。
また、「Standard」の項目から「setting.jsonで編集」をクリックし、以下の行を追加します。
"phpcs.standard": "WordPress"
完了したら、Visual Studio Codeを再起動してPHPファイルを開くとコーディング規約チェックが行われます。
参考サイト
まとめ
無事に環境が出来て早速テーマファイルを開くとエラーが沢山。。。といっても「ifやwhileなどの条件式や関数の引数の前後でスペースを入れてね」とか「イコールの位置をそろえてね」とか「変数名をスネークケースにしてね」など、細かい部分がほとんどで一部を除いて対応しましたが、数カ所でエスケープ処理していないところがあったので使って正解でした!
自作などテーマを作成されている方は一度チェックしてみてはいかがでしょうか。
コメント