Vim代码补全插件——YouCompleteMe使用指南

一般语义补全

你可以在任何地方是使用Ctrl+Space来触发语义补全,甚至没有字符串前缀。对于那些最高级功能是非常有用的。

C家族语义补全

YCM在打开文件的目录下寻找.ycm_extra_conf.py,或者递归查找所在文件的任何上层目录。找到后,会加载它作为Python模块(仅一次)。YCM用于编辑当前文件的方法,是在提供所需信息的模块中调用FlagsForFile。你也可以提供.ycm_extra_conf.py的全局路径作缺省处理。为了防止文件中的恶意代码执行,YCM每次都会问你.ycm_extra_conf.py文件的加载是否安全。这项可以被警用,你可以写入white-/blacklist文件。更多的细节,请参见选项部分。

系统以这种方式设计,便于用户执行任意操作序列来生成编译标志的列表。

详见.ycm_extra_conf.py。你应该把使用它作为起点。别只复制/粘贴那个文件,并期望它能神奇的工作;你的项目需要不同标志。提示:仅替换你项目中必要的编译标志的字符串变量。对于99%的项目来说这就够了。

Clang的CompilationDatabase同样支持。请参见上面的链接。你用Cmake,在你的项目文件CMakeLists.txt中添加设置set( CMAKE_EXPORT_COMPILE_COMMANDS 1 )以生成文件。如果你不使用CMake,你可以使用像Bear生成compile_commands.json文件。

考虑使用YCM-Generator生成ycm_extra_conf.py文件。

如果Clang在编译头文件时遇到错误,可能需要很长时间才能完成。当补全最终显示的菜单时,将会有大量的无关补全的字符串(类型/功能都不匹配)。这是因为Clang不能建立预编译导码,如果头文件里有任何错误。前导码是快速补全的关键。

调用:YcmDiags命令以查看你的文件中是否有任何错误和警告。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值