VScodeにコードチェックツールphpcsを導入する手順


はじめに

VScodeにはコードをチェックするエクステンションが色々あります。
中にはファイルを保存・更新した時に自動で整形してくれるモノも!

この記事では、phpcsというエクステンションを導入する方法を紹介します。

php-cs-fixerとphp-cs

PHPのコードチェックツールではphp-cs以外にもphp-cs-fixerが有名ですね。

php-csは設定したコーディング規約のチェックをするツールなのに対し、

php-cs-fixerは保存・更新した時に規約に則った自動整形までしてくれます!

なんでphp-cs-fixerの導入記事じゃないの?

開発現場で独自のコーディング規約があった場合、php-cs-fixerそれらの規約を無視して勝手に整形してしまいます。

php-cs-fixerでもかなり細かくルールをカスタマイズすることはできるのですが、それでも限界はあります。
(例えば、複数行に渡るチェーンメソッドを書く際は、アローのインデントを合わせる、とか。)

また、既存のプロダクトで自動整形が働いてしまうと、実装箇所以外に差分が出てレビューがしにくい!なんてこともあります。

なので、「基本的なコーディング規約の違反だけを減らしたい」「規約違反に気がつけるようにして、直すのは任意のタイミングで行いたい」なんて場合にはphp-cs-fixerが導入コストが低くなります。

ちなみに、エクステンションのDL数もphpcsの方が多かったりします(2020年7月時点)。
VScodeマケプレより

前置きが長くなりました。
さっそく導入していきましょう!

php-csの導入

1.composerのインストール

まずはターミナルを開いて、↓のコマンドを打ってみます。

 composer --version

バージョンが表示されなかったら、PHPのライブラリ管理ツールcomposerがインストールされてないので、導入しましょう。

公式DLページ
↑リンクにあるターミナルコマンドを打ってcomposer.pharをダウンロードします。

HPより転載してきた↓のヤツをコピペしてもOKです。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e5325b19b381bfd88ce90a5ddb7823406b2a38cff6bb704b0acc289a09c8128d4a8ce2bbafcd1fcbdc38666422fe2806') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

ダウンロードしたら、下記のコマンドを打ちます。
sudoを付けないと「permission denied」エラーが出るので忘れずに付けましょう。
パスワードの入力を求められるので、macのロック解除の時に使うパスワードを入力します。

sudo mv composer.phar /usr/local/bin/composer

これでターミナルにcomposerと打って以下のような表示が出たらOK!

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.10.8 2020-06-24 21:23:30

その他、composerについては「逆引き!Composer コマンド・ライン一覧 と 基礎知識」が詳しいです。

2.ライブラリとしてのphpcs導入

PHPライブラリリポジトリサイトPackagestで検索し、phpcsをインストールします。

似たような名前のがありますが、一番DL数が多いものをDLするのが間違いないです。
squizlabs/php_codesniffer

// グローバル
composer global require "squizlabs/php_codesniffer=*"

// ローカル
composer require --dev "squizlabs/php_codesniffer=3.*"

上のグローバルインストール、下のローカルインストールコマンドどちらかでインストールしましょう。

3.VScodeエクステンションphp-csの導入

今度は、ライブラリとしてのphpcsをVScodeで適用するために、エクステンションのphpcsをインストールします。
ここでもメジャーなヤツをインストールするようにしましょう。

4.エクステンションの設定

最後に、VScodeの設定ファイルsetting.jsonに設定を記入します。

json形式で色々なルールを設定できるので、好きなルールを設定しましょう!
設定後に保存したら、自動でphpファイルのコードをチェックしてくれます。

おまけ

基本設定は以下のような感じ。

{
    "phpcs.standard": "PSR2"
}

基本のコーディングルール設定
PSR-1/WordPress/'Zend'とか色々ありますが、特にこだわりなく、キレイなコードを書きたい場合はスタンダードなPSR-2をオススメします。

#### 英語に苦手意識がない人は
[いい感じのyoutube動画](https://www.youtube.com/playlist?list=PLa_Xqm9JWuydw6f1yBSlrkWQZHJA3P9jA)がありましたので、よかったらどうぞ!