シェアする

  • このエントリーをはてなブックマークに追加

[Laravel5.5]コード補完を効かせる

PhpStormのLaaravel Pluginを入れたらコード補完が効くと思っていたのですが違うのですね。

調べてみたらbarryvdh/laravel-ide-helper: Laravel IDE Helperというのがあるようです。

冒頭のquick introduction/explanation!の動画を観たら、laravel-ide-helperをインストールしなくても_ide_helper.php を入れるだけでもコードが効くようなので両方試してみました。

_ide_helper.phpを入れる

動画のように、をLaravelのルートディレクトリに入れるだけ。この記事では/var/www/htmlとします。

cd /var/www/html
wget https://gist.githubusercontent.com/barryvdh/5227822/raw/4be028a27c4ec782965bb8f2fdcb4c08c71a441d/_ide_helper.php

before

RouteValidatorがUndefined classになっています。

after

RouteやPValidatorに出ていたエラーが消えて補完できる様になっています。

Laravel 5 IDE Helper Generatorでコード補完を効かせる

Composerでbarryvdh/laravel-ide-helperをインストールします。

先ほどと同じくLaravelのルートディレクトリを/var/www/html/として入れる例です。

composer require barryvdh/laravel-ide-helper

config/app.phpprovidersのキーの配列に以下を追加。

        /*
         * Laravel 5 IDE Helper Generator
         */
        Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,

以下のコマンドで_ide_helper.phpを生成できます。

php artisan ide-helper:generate

これでクイックインストールと同じようにRouteValidatorが補完できるようになりました。

しかしまだ自作モデルのメソッドの補完が効かないので、モデルの補完もできるようにしてみます。

モデルの補完

データベースの列を取得するにはdoctrine/dbal: ~2.3が必要とのことなので、Composerでインストールします。

composer require doctrine/dbal

モデルの補完用ファイルを生成します。

php artisan ide-helper:models -N

before

Book::orderByメソッドが補完されていません。

after

_ide_helper_models.phpが出力され、Book::orderByメソッドの補完が効くようになっています。

-Nモデルファイルに直接書くのではなく_ide_helper_models.phpに設定をまとめて出力するためのオプションです。

ちなみに、私の環境ではモデルを指定したphp artisan ide-helper:models Bookというコマンドではコードが生成されませんでした。--dirなどでモデルの場所を指定してもダメで、モデルを指定しないで実行したら出力することができました。

今はまだLaravelの理解が足りなすぎて調べるのに苦労しそうなので、この問題はしばらく棚上げしてモデルを追加したらphp artisan ide-helper:models -Nでやっていこうと思います。

他にもphp artisan ide-helper:metaというのもあったのですが、よくわからなかったのでわかったら書いておきます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする