VIM-PHPer 的福利, 将你的 VIM 打造成为不次于 PHPStorm 的 IDE

通过 PHPCD.vim 这个 nvim 的插件, 我们可以将我们的 nvim 打造成不次于 PHPStorm 的 IDE. 像"Goto definition"/"Auto Completion"此类 IDE 功能一应俱全.

DEMO

asciicast

安装

首先你需要安装 vim-plug 这个包管理插件, 用 vim-plug 就像 php 的 composer.

在 vim-plug 装好后, 在 vim-plug 的 PlugBegin 之后添加

Plug 'lvht/phpcd.vim', { 'for': 'php', 'do': 'composer install' }

然后运行:

:PlugInstall

就会安装上.

  • 注意, 安装过程中, phpcd.vim 本身会 composer install 一次. 若失败请手工 cd 到 phpcd.vim 目录去 composer install.

使用介绍

phpcd 会自动解析当前打开nvim位置的composer.json, 解析出psr-4的自动加载。如果你的框架使用了非composer的自动加载,就需要改造。

比如,框架将 App 这个 namespace 指向到了 application/ 目录下,

正常的做法是 composer.json 加上如下块

{
    ...
    "autoload": {
        "psr-4": {
            "App\\": "application/"
        }
    }
}

如果你的框架是自己实现的,那么你就需要在composer.json中加一下如上的,并将框架相应功能代码注释掉。

只有这样,我们业务代码才可以正常的补全跳转。

一键脚本

curl -L -s https://git.io/ide | sh

参考

  1. lvht/PHPCD.vim https://github.com/lvht/phpcd.vim
帝玺数字证书,通配符/EV SSL统统找客服400元 www.ssls.com.cn
本帖已被设为精华帖!
本帖由系统于 2年前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 10

厉害了:+1:

3年前 评论

楼主你安装过么?我试着安装了一下失败了...能否在详细一些..........

3年前 评论

@736713830 提供一下失败的错误消息

3年前 评论

@NicolaBonelli 已经卸载了........希望再出个详细的教程吧,

3年前 评论
Ysll

吊的:+1:

3年前 评论

@NicolaBonelli 没报错,安装成功的

3年前 评论
颜⑧

出现错误

PHP Warning:  Uncaught ErrorException: require(/Users/tony/.vim/bundle/phpcd.vim/php/../vendor/
autoload.php): failed to open stream: No such file or directory in /Users/tony/.vim/bundle/phpc
d.vim/php/main.php:14
Stack trace:
#0 /Users/tony/.vim/bundle/phpcd.vim/php/main.php(14): {closure}(2, 'require(/Users/...', '/Use
rs/tony/.vi...', 14, Array)
#1 /Users/tony/.vim/bundle/phpcd.vim/php/main.php(14): require()
#2 {main}
  thrown in /Users/tony/.vim/bundle/phpcd.vim/php/main.php on line 14
PHP Stack trace:
PHP   1. {main}() /Users/tony/.vim/bundle/phpcd.vim/php/main.php:0
2年前 评论
颜⑧

上一个问题 需要composer install 就能解决,其次还需要支持 msgpack

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!