コンニチハ!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->
と入力した時点で、name
やemail
といったデータベースのカラム(プロパティ)だけでなく、モデルに定義した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.php
にname()
メソッドで定義したルート名を一覧表示し、補完します。また、ルート名から定義元のファイルへジャンプすることも可能です。 - 使用例: Bladeファイルで
<a href="{{ route('') }}">
のシングルクォート内でp
と入力するだけで、post.index
やprofile.update
といった名前付きルートが候補として表示されます。
2. ビューへのジャンプ (Go to View)
- 機能名: ビューへのジャンプ
- 内容: コントローラ内の
view('posts.index')
のような記述から、Ctrl+Click
で対象のBladeファイル(resources/views/posts/index.blade.php
など)を直接開くことができます。ファイルを探す手間が省けます。 - 使用例:
PostController.php
にreturn view('posts.show', $data);
というコードがある場合、'posts.show'
の部分をCtrl+Click
orcmd+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テンプレートを維持します。以前は別の拡張機能として提供されていましたが、現在は公式パックに統合されています。 - 使用例と設定: この機能を最大限に活用するには、保存時に自動でフォーマットがかかるように設定するのがおすすめです。
Ctrl+Shift+P
でコマンドパレットを開き、「Preferences: Open User Settings (JSON)
」を検索・選択してsettings.json
ファイルを開きます。- 以下の設定を追記します。
"[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:controller
やmigrate
などの各種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紹介ページで特典を確認する