homehome

Visual Studio CodeでPHPのフォーマッター

Published

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" }のように変更もできる。