原标题:YouCompleteMe:一款Vim代码补全引擎
本资源由 伯乐在线- beyondwu整理,您也想贡献一份力量?欢迎加入我们 »
简介
YouCompleteMe是一款用于Vim的快速的,根据你的输入进行模糊搜索的代码补全引擎。
它包含以下几个补全引擎:
适用于任何编程语言的标识符引擎。基于Clang的用于C/C++/Objective-C/Objective-C++(C语言家族)的基本语法代码补全引擎基于Jedi的用于Python2和3 (适用JediHTTP封装)的代码补全引擎基于OminiSharp的用于C#的代码补全引擎用于Go代码补全的Gocode和Godef语法引擎的合并基于TSServer的用于Type的代码补全引擎基于Tern的用于Java的代码补全引擎基于racer的用于Rust的代码补全引擎使用基于Vim的omnicomplete系统数据的omnifunc补全器来提供更多其他语言的语法补全(Ruby,PHP等)
补全效果如下图:
首先,获得补全提示内容并不需要用户使用任何快捷键而是自动弹出,用户可以使用TAB键进行补全项选择;补全提示的内容并不是将你输入的内容作为前缀进行补全查找,而是将你输入的内容作为子序列进行查找,如abc就是xaybgc的一个子序列,之后将补全提示按照相关性从上往下排序;由于标识符引擎的作用,上述功能对所有语言都有效,因为它将收集当前文件和你曾经访问的文件的所有标识,当你输入的时候完成补全的功能;另外,对于C语言家族而言,YCM能够提供语法错误提示的功能,因为Clang将编译你的文件并检查其中的警告和错误,这一过程你也不需要保存文件或者使用快捷键来触发。
安装(以MacOS为例)
安装最新版的MacVim如果你不使用MacVim GUI版,推荐使用位于MacVim.app(MacVim.app/Contents/MacOS/Vim)包中的Vim二进制文件。为了保证程序正确运行,将mvim脚本从MacVim下载目录拷贝到系统本地二进制目录(如/usr/local/bin/mvim)然后建立链接:ln –s /usr/local/bin/mvim vim使用Vundle安装YouCompleteMe(YCM是一个编译完成的组件,当你使用Vundle更新YCM时,ycm_core库的API改变了的话,YCM将提示你重新进行编译。此时你需要重新执行安装过程) 注:如果你想使用C家族语言的语法补全,必须保证已经安装带有最新命令行工具的Xcode。安装CMake(优先选用Homebrew)编译编译YCM包含C语言家族补全支持:
Shell
1
cd~/.vim/bundle/YouCompleteMe./install.py--clang-completer
编译YCM不包含C语言家族补全支持:
Shell
1
cd~/.vim/bundle/YouCompleteMe./install.py
其他语言支持编译选项包括:C# 支持:安装Mono 并 添加 –omnisharp-completer 选项Go 支持:安装Go并添加 –gocode-completer 选项Type 支持: 先安装Node.js 和 npm, 然后使用 npm install -g type安装 Type SDKJava 支持:安装Node.js 和 npm 并添加 –tern-completerRust support: 安装rust并添加–racer-completer 选项如果想简单的全部编译,使用–all选项,但前提是保证xbuild,go,tsserver,node,npm,rustc和cargo工具已经安装在你的PATH路径中。此时再运行,cd ~/.vim/bundle/YouCompleteMe ./install.py –all。
安装完成后,再参考UserGuide进行配置
协议
YouCompleteMe采用GPL v3协议开源发布。
官方网站:http://valloric.github.io/YouCompleteMe/
开源地址:https://github.com/Valloric/YouCompleteMe返回搜狐,查看更多
责任编辑: