本記事では、Microsoftが作ったエディタであるVisual Studio Codeを使って、phpcsを使って*.phpファイルのコーディング規約をチェックを行う方法を説明します。
VSCodeのphpcsプラグインをインストール
このパッケージをインストールする前に、phpcsをインストールしておく必要があります。パスを通しておきコマンドプロンプトからphpcs
を実行したとき、以下のように出力されればOKです。
Visual Studio Codeを起動し、メニューより表示
->拡張機能
を選択します。表示された検索エリアに、phpcsを入力します。
名前をクリックすると、説明が表示されます。
こちらのプラグインをインストールします。インストールが完了したら、Visual Studio Codeをいったん終了させます。
phpcsプラグインを実行
次に、以下のようにして、*.phpのファイルが入っているフォルダをVSCodeで開きます。
(2017/06時点では)以下のように、ファイルを選択して開くと、正しく動作しないようなので、注意してください。
構文エラーがあるファイルを開くと、下記のように波線が表示され、どこに問題があるか分かります。
波線にマウスカーソルをあてると、phpcsが出力したエラー理由が表示されます。
phpcsプラグインの構文チェックルールをPSR-2準拠に変更する
プラグインをインストール直後の状態では、チェックしているコーディング規約がPSR-2基準ではないため、設定の変更が必要です。
エディタ上で、"ctrl+,"(コントロールキーを押しながらカンマ)のショートカットキーで設定画面を開きます。下記の指定を追加すると、構文チェックの基準がPSR-2準拠になります。
// phpcsのスタイル指定(PSR-2)
"phpcs.standard": "PSR2"
PSR-2ではなくWordPressのコーディング規約チェックを行いたい場合は、以下のように指定します。
"phpcs.standard": "WordPress"
独自のコーディング規約ルールを持っている場合は、xmlのファイル名を指定しても良いです。
"phpcs.standard": "/path/to/project/phpcs.xml"
phpcsプラグインによるチェックを一時的に無効化したい
phpcsプラグインはインストールするが、チェックを一時的に無効化したい場合は、phpcs.enableをfalseにすればよいです。
このパラメータ未指定時のデフォルトは、true(true=構文チェックする)です。
"phpcs.enable": false
チェックしないフォルダ,ファイルを指定する
phpcsプラグインはインストールするが、一部のフォルダや、ファイルのみチェック対象から外したい場合は、phpcs.ignore
パラメータで指定することが可能です。
phpcs Unexpected end of JSON inputエラーが出るときの対処法
前述しましたが、phpcsのプラグインは現在バグがあるらしく、ファイルを選択してVisual Studio Codeを開くと正しく操作しないようです。
phpcs.batにログを仕込んで確認すると振る舞いが分かりますが、ファイル単体で開いた場合、phpcsプラグインはphpcs --version
を実行した後にエラーが出ているようです。フォルダから開くと、phpcs --version
を実行したのち、*.phpファイルの構文チェックを行う為に再度phpcs.batを実行していました。
桃北さん
誤記のご指摘ありがとうございます。カンマに修正しておきました。
勉強させていただいています。ありがとうございます。
"ctrl+,"(コントロールキーを押しながらセミコロン)
↑カンマですか?