次の2ステップの作業のみでVS CodeやPhpStormでコード補完(インテリセンス)が効くようになります。
https://github.com/barryvdh/laravel-ide-helper
composer require --dev barryvdh/laravel-ide-helper
この方法が一番確実です。次のコマンドで実行できます。
Company modelにphpdocを直接書き込む
php artisan ide-helper:models "App\Models\Company" --write
すべてのモデルファイルのPHPDocに直接書き込む
php artisan ide-helper:models --write
Facade のコードの補完をできるようにする
こちらのコマンドを実行すると _ide_helper.php ファイルを生成します
php artisan ide-helper:generate
Model のプロパティ補完をできるようにする
こちらのコマンドを実行すると _ide_helper_models.php ファイルを生成します
モデルファイルの格納ディレクトリ を --dir で指定します
php artisan ide-helper:models -N --dir="app/Models"
以上でOKです。
拡張機能を「@builtin php」で検索して「PHP言語機能」をオフにします
「PHPの基本言語サポート」はそのまま有効にしてください
生成される2つのファイルは開発のファイルなので gitから除外しておきましょう
.gitignore
# ide-helperのファイルは除外する
/_ide_helper.php
/_ide_helper_models.php
参考 : https://qiita.com/PruneMazui/items/74034913bcd4af7a4eaf
composer で何かしらのエラーが出る場合はファイル _ide_helper.php _ide_helper_models.php を削除してから Composer コマンドを実行します。 実行後に再度生成します。
それ以外にも便利な機能があります。
# 全モデルのDocBlockを生成
php artisan ide-helper:models
# 特定のモデルのみ
php artisan ide-helper:models "App\Models\User"
# ファイルに直接書き込む(--writeオプション)
php artisan ide-helper:models --write
# 別ファイルに出力(デフォルト: _ide_helper_models.php)
php artisan ide-helper:models --nowrite
その他便利コマンド
# Facadeのヘルパー生成
php artisan ide-helper:generate
# PhpStorm用のメタファイル生成
php artisan ide-helper:meta
config ファイルを作成して設定を書き込む。
php artisan vendor:publish --provider="Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider" --tag=config
config/ide-helper.php
return [
'model_locations' => [
'app',
// app/Models ディレクトリを追加する
'app/Models',
],
'write_model_magic_where' => true,
// ファイルに直接書き込むか、別ファイルに出力するか
'write_eloquent_model_mixins' => true,
// リレーションのヒントを追加
'include_fluent' => true,
];
"scripts": {
"post-update-cmd": [
"@php artisan ide-helper:generate",
"@php artisan ide-helper:models --nowrite"
]
}
別ファイルに出力する場合は、.gitignoreに追加:
_ide_helper.php
_ide_helper_models.php
.phpstorm.meta.php