laravel 5 ide 自动完成

laravel 5 ide autocompletion

我想切换到 laravel 5,但在使用 ide 时遇到一些问题 - 自动完成。我正在使用 phpstorm。 在 google 中,答案总是以建议使用 https://github.com/barryvdh/laravel-ide-helper 结尾。但似乎 Laravel 5.

坏了

我做的步骤是:

  1. 安装Laravel 5

    composer create-project laravel/laravel 
    
  2. 需要ide-helper

    composer require barryvdh/laravel-ide-helper
    
  3. 已添加 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',

    ....
    'Illuminate\Translation\TranslationServiceProvider',
    'Illuminate\Validation\ValidationServiceProvider',
    'Illuminate\View\ViewServiceProvider',
    'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
    
  4. 正在尝试生成帮助程序文件

    artisan ide-helper:generate
    

但它总是因以下错误而中断:

exception 'InvalidArgumentException' with message 'There are no commands defined in the "ide-helper" namespace.' in C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php:501

0 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php(535): Symfony\Component\Console\Application->findNamespace('ide-helper')
1 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console

\Application.php(192): Symfony\Component\Console\Application->find('ide-helper:gene...')
2 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php(126): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Outpu
t\ConsoleOutput))
3 C:\xampp\htdocs\test\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(91): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Out
put\ConsoleOutput))
4 C:\xampp\htdocs\test\artisan(36): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
5 {main}

也许有人遇到了同样的问题,可以帮助我。 除了 barryvdh 的 ide-helper.

之外,我对自动完成的不同解决方案持开放态度

未加载包 ServiceProvider 时会发生此错误。

如果你有多个配置文件(比如针对不同的环境),你必须确保服务提供商在你使用包的所有环境中都设置好。

config/
  local/
    app.php
  app.php

要验证服务提供商是否正确设置为您的应用程序,您可以转储应用程序配置:

dd(\Config::get('app.providers'));

这是本月的 updated gist。我已经测试过了,它在 PHPStorm 中有效。

此外,您不必通过 composer 安装它。复制要点并将其作为 _ide_helper.php.

保存在您的根文件夹中

试试这个:

php artisan ide-helper:generate

我运行陷入同样的​​问题。这些是我修复它的步骤:

  • 我仔细检查了 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider' 是否已正确添加到 config/app.php 中的 providers 数组。
  • 我执行了artisan clear-compiled。没有效果

执行 php artisan config:clear 解决了问题。

我遇到了同样的问题并已解决:

在执行 运行 php artisan ide-helper:generate 命令之前,请确保 php artisan clear-compiledphp artisan optimize 已注明 here. If this didn't fixed your problem, take a look at this 并通过选择此选项清除 PhpStorm 缓存:

File | Invalidate Caches/Restart

自动重启后,PhpStorm 将再次建立索引,一切正常。

抱歉我的英语不好。

已编辑:完成这些步骤后,像这样 use Illuminate\Support\Facades\Auth link 将它们导入 _ide_helper.php 文件,如 use Auth.