Youcompleteme不能成功补全不带文件后缀名的头文件
发现问题
最近想学习qt,第一步就是倒腾环境,深度vim用户当然什么都要用vim写,于是就有了vim+qmake来写qt的操作(简单的还凑合能用吧,复杂的配合qt creator),但是没有代码提示你写起来代码那能爽吗?于是赶紧把qt/include路径添加到.ycm_extra_conf.py的flags中,满怀期待编辑文件,发现没有一些文件的补全,比如同一个目录下的两个文件:
- hello.h
- world
如果你成功的设置了这个目录到flags,假设目录名字为t1
#include <t1/xxxx>
代码提示xxxx只会显示hello.h,不会显示world。
原因所在
引入为在https://gitter.im/Valloric/YouCompleteMe#里@kadircet的回复
when the include is from a non-system dir we expect a filetype of h, hh, hpp or inc :/ which doesn't work as expected in such cases
引入非系统目录的文件夹默认只显示.h .hh之类的这种头文件。
解决问题
问题的解决方法就是设置你的目录为系统目录即可
设置CPLUS_INCLUDE_PATH环境变量,比如我的目录路径是/Users/liuaotian/demo
export $CPLUS_INCLUDE_PATH=/Users/liuaotian/demo:$CPLUS_INCLUDE_PATH
然后你在去编译文件的时候
#include <t1/xxxx>
这里的xxxx就会显示两个答案
- hello.h
- world
END
问题到此就解决了,按照这种思路设置为你的qt路径,你的问题也就解决了。
欢迎关注我的博客:刘傲天的官方网站
网友评论