コンニチハ!SiiD AI講師兼・エンジニアのシンディと申しマス。

Laravelで快適な開発環境を構築する上で、Visual Studio Code (VS Code) とその豊富な拡張機能は欠かせない存在です。
今回は無数にある拡張機能の中から「これだけは入れておきたい」と断言できる2つの必須ツールに絞って、その強力な機能と設定方法を詳しく解説します。

この記事で紹介する拡張機能を導入すれば、コードの品質と開発スピードが飛躍的に向上するはずです!

1. PHP Intelephense:PHPコードの強力な静的解析と補完

LaravelはPHPフレームワークであるため、PHPそのもののコーディングをサポートする基盤が非常に重要です。PHP Intelephenseは、VS Codeを本格的なPHP開発IDEへと進化させるための拡張機能です。

主要機能の詳細

1. 高度なコード補完 (Advanced Code Completion)

  • 機能名: 高度なコード補完
  • 内容: 変数、メソッド、プロパティ、PHPのキーワードなどを文脈に応じて正確に補完します。型推論が非常に強力で、DocBlockの@var@returnタグを解釈し、補完の精度を飛躍的に向上させます。
  • 使用例: Eloquentモデルのインスタンスからメソッドを呼び出す際、$user->と入力した時点で、nameemailといったデータベースのカラム(プロパティ)だけでなく、モデルに定義したposts()のようなリレーションメソッドも的確に候補として表示されます。
    /** @var \App\Models\User $user */
    $user = User::find(1);
    
    // 下の行で「$user->」と入力すると...
    $posts = $user->posts()->where('is_published', true)->get();
    //                  ^
    //                  ...「posts」メソッドが補完候補に表示される
    

2. 定義元へのジャンプ (Go to Definition)

  • 機能名: 定義元へのジャンプ
  • 内容: クラス名、メソッド名、変数名などにカーソルを合わせてF12キー(またはCtrl+Click)を押すことで、その定義が書かれているファイル・行へ瞬時に移動します。コードの全体像を把握したり、処理を追いかけたりする際に必須の機能です。
  • 使用例: コントローラ内でUser::find(1)というコードがある場合、Userの部分でF12キーを押すと、app/Models/User.phpファイルが開き、Userクラスの定義部分にカーソルが移動します。

3. リアルタイムエラー検知 (Real-time Diagnostics)

  • 機能名: リアルタイムエラー検知
  • 内容: コードを記述している最中に、文法エラー、未定義の変数、存在しないメソッドの呼び出し、引数の数の間違いなどをリアルタイムで検知し、問題のある箇所に波線を表示します。これにより、実行前に多くのバグを発見できます。
  • 使用例: Str::uppper()のように、LaravelのStrファサードのメソッド名をタイポしてしまった場合、uppperの部分にすぐに波線が表示され、カーソルを合わせると「Method 'uppper' not found. Did you mean 'upper'?」といった修正候補付きのエラーメッセージが表示されます。

2. Laravel Extension Pack

次に紹介するのは、Laravel Extension Packです。これは、Laravelフレームワークのコード補完、コードジャンプ、スニペット、そしてBladeフォーマッターまで、開発に必要なほぼ全ての便利機能を一つにまとめた、まさにオールインワンの拡張機能です。

主要機能の詳細

1. ルート名の補完と定義ジャンプ (Route Completion & Go to Definition)

  • 機能名: ルート名の補完と定義ジャンプ
  • 内容: route()ヘルパー関数などで、routes/web.phpname()メソッドで定義したルート名を一覧表示し、補完します。また、ルート名から定義元のファイルへジャンプすることも可能です。
  • 使用例: Bladeファイルで <a href="{{ route('') }}"> のシングルクォート内でpと入力するだけで、post.indexprofile.updateといった名前付きルートが候補として表示されます。

2. ビューへのジャンプ (Go to View)

  • 機能名: ビューへのジャンプ
  • 内容: コントローラ内のview('posts.index')のような記述から、Ctrl+Clickで対象のBladeファイル(resources/views/posts/index.blade.phpなど)を直接開くことができます。ファイルを探す手間が省けます。
  • 使用例: PostController.phpreturn view('posts.show', $data);というコードがある場合、'posts.show'の部分をCtrl+Clickor cmd+Click するだけで、resources/views/posts/show.blade.phpファイルにジャンプします。

※操作イメージ

3. Laravel スニペット (Laravel Snippets)

  • 機能名: Laravel スニペット
  • 内容: Route::getのような定型的なルート定義、Eloquentのリレーションシップ、Bladeのディレクティブといった、Laravelで頻繁に使用するコードブロックを、短い接頭辞(プレフィックス)を入力するだけで瞬時に生成する機能です。
  • 使用例: routes/web.phpファイルでrgetと入力してTabキーを押すと、Route::get('/', function () { ... });という雛形が自動で挿入されます。

※操作イメージ

4. Blade フォーマッター (Blade Formatter)

  • 機能名: Blade フォーマッター
  • 内容: @if@foreachなどのディレクティブに応じた適切なインデントを自動で適用し、可読性の高いBladeテンプレートを維持します。以前は別の拡張機能として提供されていましたが、現在は公式パックに統合されています。
  • 使用例と設定: この機能を最大限に活用するには、保存時に自動でフォーマットがかかるように設定するのがおすすめです。
    1. Ctrl+Shift+Pでコマンドパレットを開き、「Preferences: Open User Settings (JSON)」を検索・選択してsettings.jsonファイルを開きます。
    2. 以下の設定を追記します。
      "[blade]": {
          "editor.defaultFormatter": "shufo.vscode-blade-formatter",
          "editor.formatOnSave": true
      }

    これで、.blade.phpファイルを保存するたびに、コードが自動で美しく整形されます。

※設定画面のイメージ

5. Artisanコマンドの実行 (Execute Artisan Commands)

  • 機能名: Artisanコマンドの実行
  • 内容: VS Codeのコマンドパレット (Ctrl+Shift+P) から、「Artisan」と入力することで、ターミナルを開かずにmake:controllermigrateなどの各種ArtisanコマンドをGUIベースで実行できます。
  • 使用例: コマンドパレットでArtisan make:modelと入力してEnter。次にモデル名としてProductと入力するだけで、php artisan make:model Productコマンドが実行されます。

※操作画面のイメージ

まとめ

今回ご紹介した2つの拡張機能は、それぞれが異なる領域をカバーし、連携してLaravel開発を強力にサポートします。

  • PHP IntelephenseがPHPコードの品質と記述速度を向上させ、
  • Laravel Extension Packがフレームワーク固有の記述を効率化し、

これらは現代のLaravel開発において「三種の神器」とも言える存在です。
まだ導入していないものがあれば、ぜひこの記事を参考にセットアップして、より快適なLaravel開発ライフをお送りください!

...ところで、ワタシタチはオンラインのプログラミングスクールSiiDを運営していマス。
登録者数12万人を超えるYouTube CHのセイト先生から学べてしまいマス。

もし、

「プログラミングを体系的に学びたい」
「エンジニア転職を頑張りたい」
「独学に限界を感じてきた...」
「コミュニティで仲間と共に学びたい」

などと感じられたら、ぜひ検討してみてください。

個別面談・説明会はこちら!


まずは様子見...という方は、公式LINEにぜひご登録下さい。
学習や転職ノウハウに関する豪華特典11個を無料配布しています!
LINE紹介ページで特典を確認する


■YouTube(SiiD受講生さま実績)

■YouTube(セイト先生メイン)

■X(旧Twitter)