💻

[Laravel] VS Code で快適な開発環境をつくる

補完 その 1

まず、PHP のインテリセンスであるPHP Intelephenseをインストールする。これで、変数名やメソッド名を補完してくれるようになる。

ここで 1 つ注意点。「php vscode インテリセンス」と検索すると IntelliSenseIntelephense が見つかる。 前者は公式からリンクされていて、かつインストール数も多いが、実は後者のほうが機能が豊富だし、圧倒的に使いやすい。

次に、VS Code にもともと用意されている補完 php.suggest.basic を無効にする。 これをしなくても実装に問題はないが、以下のように補完候補が重複して表示されてしまう。

image

無効にするとこんな感じ。

image

補完 その 2

Intelephenseで PHP の補完ができるようになったので、次は Laravel 特有の補完もしてくれるようにする。 そのために導入するのは Laravel IDE Helper。 コードを補完するためのファイル _ide_helper.php を生成してくれる。ファイルを生成したら .gitignore に追加しておく。

PHP をフォーマットする

PHP のコード整形ツールといえば PHP-CS-Fixer。 これを VS Code で使うためにphp cs fixerをインストールしていくつか設定する。

emoji-hammer インストール方法

  1. 実行ファイルをダウンロードして、~/.vscode/php-cs-fixer.phar として保存する
  2. ダウンロードした実行ファイルを VS Code で実行するために、VS Code にphp cs fixerをインストールする
  3. 設定を開いて php-cs-fixer.allowRisky にチェックを入れる
  4. 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.wrapLineLength0 にした。

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をインストールする。