[Laravel] VS Code で快適な開発環境をつくる
補完 その 1
まず、PHP のインテリセンスであるPHP Intelephenseをインストールする。これで、変数名やメソッド名を補完してくれるようになる。
ここで 1 つ注意点。「php vscode インテリセンス」と検索すると IntelliSense と Intelephense が見つかる。 前者は公式からリンクされていて、かつインストール数も多いが、実は後者のほうが機能が豊富だし、圧倒的に使いやすい。
次に、VS Code にもともと用意されている補完 php.suggest.basic
を無効にする。
これをしなくても実装に問題はないが、以下のように補完候補が重複して表示されてしまう。
無効にするとこんな感じ。
補完 その 2
Intelephenseで PHP の補完ができるようになったので、次は Laravel 特有の補完もしてくれるようにする。
そのために導入するのは Laravel IDE Helper。
コードを補完するためのファイル _ide_helper.php
を生成してくれる。ファイルを生成したら .gitignore
に追加しておく。
PHP をフォーマットする
PHP のコード整形ツールといえば PHP-CS-Fixer。 これを VS Code で使うためにphp cs fixerをインストールしていくつか設定する。
インストール方法
- 実行ファイルをダウンロードして、
~/.vscode/php-cs-fixer.phar
として保存する - ダウンロードした実行ファイルを VS Code で実行するために、VS Code にphp cs fixerをインストールする
- 設定を開いて
php-cs-fixer.allowRisky
にチェックを入れる php-cs-fixer.executablePath
に~/.vscode/php-cs-fixer.phar
を指定する
これで、option
+ shift
+ F
でフォーマットできるようになる。
フォーマットするときにチェックする項目は、細かく設定できる。詳しくはソースコードの“赤ペン先生”PHP-CS-Fixer のインストールと設定を参照。
Blade をフォーマットする
Blade と HTML は基本的に同じなので、Blade ファイルを HTML としてフォーマットできるようにする。
そのために、settings.json
に以下を追記する。
"files.associations": {
"*.blade.php": "html"
},
files.associations
とは、コロンの左側の拡張子 (blade) を右側の拡張子 (html) として扱うための設定。
これにより、Blade ファイルを HTML としてフォーマットができるようになる。
ただし、Blade と HTML は異なるファイル形式なので、完全にフォーマットできるわけではない。
たとえば、Blade 中の PHP はフォーマットできないし、ディレクティブ (@if
など) を認識してくれない。
完璧にフォーマットするには、手作業で個別に対応する必要がある。
あとこれは好みだけど、横長の HTML が改行されるのが嫌だったので html.format.wrapLineLength
を 0
にした。
Doc コメントを書く
PHP DocBlocker をインストールする。
/**
と入力してから Enter
するだけで、@param
や @return
が書かれた Doc コメントが生成される。
/**
* Undocumented function
*
* @param Request $request
* @return void
*/
protected function loggedOut(Request $request)
{
return redirect(route('logout'));
}
.env にシンタックスハイライト
Dot ENVをインストールする。