我已经花了两天的时间尝试用VIM为框架创建一个良好的工作环境,在这种情况下,就是laravel。
一切都像往常一样完美,但有一个非常重要的问题:
我已经尝试过通过google找到的所有东西:
-phpcomplete:尽管在我的其他项目中工作得很好,但似乎对作曲家很生气。不识别框架的外观或常用方法。
-ctag:在某些方法上有所帮助,但仍会给全貌带来麻烦。
-phpcomplete-extended和phpcomplete-扩展到laravel:作者不再维护这个插件了(逻辑上的,因为框架变化太快),所以不再工作了。
-PIV,使用standart phpcomplete,所以同样的问题。
-padawan.php我无法让它起作用,IMHO文件记录不全
是否有任何vim用户能够正确地获得全功能?我开始认为我应该从vim开始,因为它还没有为这些新技术做好准备:

针对AppServiceProvider文件的Grep tags:
AppServiceProvider app/Providers/AppServiceProvider.php /^class AppServiceProvider扩展ServiceProvider$/;c命名空间: Furbook\Providers应用程序/Providers/AppServiceProvider.php /^namespace Furbook\Providers;$/;“n boot app/Providers/AppServiceProvider.php /^公共函数引导(/^namespace)$/;”f类:Furbook提供者:AppServiceProvider注册应用程序/Providers/AppServiceProvider.php /^公共功能寄存器($/);f类:Furbook\Provider:
发布于 2015-11-01 12:30:59
这是我最关心的问题之一,以下是我最喜欢的选择:
_ide_helper.php文件,然后创建标记。我还在vimrc中创建了一个函数,这样就可以自动生成标记。
function! GenTags()
if isdirectory("./vendor")
echo '(re)Generating framework tags'
execute "!php artisan ide-helper:generate"
echo '(re)Generating tags'
execute "!ctags -R --filter-terminator=php"
else
echo 'Not in a framework project'
if filereadable("tags")
echo "Regenerating tags..."
execute "!ctags -R --filter-terminator=php"
else
let choice = confirm("Create tags?", "&Yes\n&No", 2)
if choice == 1
echo "Generating tags..."
execute "!ctags -R --filter-terminator=php"
endif
endif
endif
:endfunction
command! -nargs=* GenTags call GenTags()
GenTags()-安装月食,不要使用eclipse,最好直接卸载
-安装eclim,使用eclim安装程序。
-为了完成完整的代码完成,更改模型以扩展Eloquent而不是Model
--插件YouCompleteMe (您可以尝试其他任何一种)
尽管自动完成仍然比eclipse (eclim)差一些,但是PHP语言服务器是在Php上开发的,这意味着许多PHP用户可以为该项目做出贡献,而且它非常活跃和完善。
插头‘roxma/nvim-完成-管理器’ “(可选) 插头'roxma/nvim-cm-tern',{'do':'npm安装‘}“ “(可选)语言服务器协议框架 插入'autozimu/LanguageClient-neovim',{ 'do':':UpdateRemotePlugins‘}“ “(可选) php通过LanguageClient-neovim完成 插件‘roxma/LanguageServer neovim’,{'do':'composer install & composer run&composer run-script解析-stubs‘}
如果有人想知道更多信息,可以在github查看我的病毒c
发布于 2016-05-18 09:59:17
谈到关于文档的padawan.php,我还没有花足够的时间让它或多或少地有用,但是安装padawan不应该那么困难:
composer global require mkusher/padawan我不确定Laravel项目是否会开箱即用,还是您仍然需要ide助手,但是一般的php程序应该工作得很好。
发布于 2015-10-30 11:56:33
免责声明:我不是PHP程序员,我对PHP一无所知。
首先,如果自动完成机制对您的工作至关重要,那么您可能应该为您正在使用的编程语言选择合适的IDE。Vim包括一个用于自动完成的框架,这并不意味着它是为所有受支持的语言实现的。而且,即使有一个全面完成功能可用,你的里程可能会有所不同,取决于它是如何发展。
从我可以收集到的其他问题(特别是Vim PHP全补)来看,最好的PGP完成插件是完全式,所以我已经安装了它。
然后,我从这里下载了laraval,并使用以下命令运行ctag 5.9~svn20110310 (可在Debian中找到):
ctags -R --filter-terminator=php使用以下测试文件:
<?php
$example = new AppServiceProvider();
$example->
?>当我按i_ctrl-x_ctrl-o时,我得到以下建议:
boot( f )
register( f )正如可以看到的那样,没有长长的方法列表。
我还尝试使用通用Ctag,其中包括php完备插件所需的修补程序,但为了使其正常工作,我必须使用以下语法:
ctags -R --fields=+aimS-s --filter-terminator=php .也就是说,需要额外的-s。也许您可以在这里工作,并在您的环境中更详细地测试这一点。
https://stackoverflow.com/questions/33412045
复制相似问题