laravel 5 ide自动完成

时间:2015-02-13 11:05:36

标签: autocomplete laravel-5 phpstorm

我想切换到laravel 5,但是在ide - autocompletion方面遇到了一些麻烦。我使用的是phpstorm。 在谷歌中,答案总是最终建议使用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
    
  5. 但它始终会出现以下错误:

    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之外,我还会为自动完成提供不同的解决方案。

5 个答案:

答案 0 :(得分:13)

我遇到了同样的问题并修复了它:

在运行php artisan ide-helper:generate命令之前,请务必php artisan clear-compiledphp artisan optimize注明here。如果这没有解决您的问题,请查看this并通过选择以下内容清除PhpStorm缓存:

  

文件|使高速缓存/重新启动无效

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

抱歉我的英语不好。

已编辑:执行这些步骤后,导入您的Facades use Illuminate\Support\Facades\Auth将其链接到_ide_helper.php文件中,如use Auth

答案 1 :(得分:3)

我遇到了同样的问题。这些是我修复它的步骤:

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

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

答案 2 :(得分:1)

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

如果您有多个配置文件(例如针对不同的环境),则必须确保在使用该软件包的所有环境中完善服务提供程序。

config/
  local/
    app.php
  app.php

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

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

答案 3 :(得分:1)

试试这个:

php artisan ide-helper:generate

答案 4 :(得分:-1)

截至本月,这是updated gist。我已经测试了它,它可以在PHPStorm中运行。

此外,您不必通过composer安装它。复制要点并将其保存在根文件夹中_ide_helper.php