Visual Studio CodeでPHPのフォーマッター
目次
Visual Studio Codeには標準でコードの整形機能(フォーマッター)がついているが、デフォルトではhtmlやjavascriptなどしか整形してくれない。PHPのフォーマッターは別途自分で拡張機能から導入する必要がある。尚、以下の解説環境はUbuntu。
php cs fixerのインストール
php cs fixerというフォーマッターを導入する。シンプルであまり設定することもないので簡単。vscode-php-formatterというのもあるのだけど、こっちは自分の環境だと動作しなかった。
VSCでCtrl+P
からext install php-cs-fixer
を入力し、拡張をインストールする。
PHP Coding Standards Fixerの導入
このアドオンはPHP Coding Standards Fixerに依存しているので、これをインストールする必要がある。composerからでも入れられるが、自分は手動インストールを行った。
curl -L http://cs.sensiolabs.org/download/php-cs-fixer-v2.phar -o php-cs-fixer
sudo chmod a+x php-cs-fixer
sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer
php cs fixerの設定と使い方
特に必須設定はないが、触るとすれば以下。
// フォーマットレベル(@PSR1, @PSR2, @Symfonyがある)
"php-cs-fixer.rules": "@PSR2",
// ファイル保存時にフィルタを自動で行う(デフォルトはfalse)
"php-cs-fixer.onsave": true,
// PHPファイルに含まれているHTMLも同時に整形する
"php-cs-fixer.formatHtml": false
上記設定でファイル保存時に自動整形してくれる。もし手動でフォーマットしたい場合は、右クリックからFormat Document(全体)やFormat Selection(選択部分)で行える。
尚、ショートカットキーはOSごとで異なるので注意。
Windows: Shift + Alt + F Mac: Shift + Option + F Linux: Ctrl + Shift + I
これらもキーボードのショートカット設定から{ "key": "ctrl+k ctrl+d", "command": "editor.action.formatDocument" }
のように変更もできる。