VIM插件YouCompleteMe如何配置才能对自定义头文件中的函数和类型进行补全

我最近在折腾YouCompleteMe,对基本的C/C++关键字都能进行补全,但不能对自己项目中的头文件中的标识符进行补全,已经在 .ycm_extra_conf.py中通过’-I’,'自己项目头文件的路径’的方式把自己的头文件路径加入了flags中,但还是不能对自己编写的头文件中的函数和类型进行补全,应该怎么配置???

我看了你的答案,没什么有用的内容

可以看看这篇博文: http://www.cnblogs.com/yongjiuzhizhen/p/4793498.html

可以看看这篇博文: http://www.cnblogs.com/yongjiuzhizhen/p/4793498.html

可以看看这篇博文: http://www.cnblogs.com/yongjiuzhizhen/p/4793498.html

我也是vimer,youcomplete也用了很久了
https://github.com/dudn/vim 这是我的github,简单写了一键源码编译配置vim的脚本
你可以看看我的 .ycm_extra_conf.py 文件
'-isystem',
'/usr/include',
'-isystem',
'/usr/include/c++/4.8.4', //看你的版本是不是4.8.4
这几句很重要
.vimrc中
let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py'
这句很重要

let g:ycm_cache_omnifunc = 0
let g:ycm_seed_identifiers_with_syntax = 1
let g:ycm_min_num_of_chars_for_completion= 2
let g:ycm_collect_identifiers_from_tags_files = 1
let g:ycm_collect_identifiers_from_comments_and_strings = 1
去github对比下,估计你一看就懂了

"但就是不能自己编写的头文件中的内容进行补全"
ycm没提供头文件complete变量,但是提供了头文件complete struct members和class members功能
可以装一些基于tags的补全插件(那些高手都不装插件,都在脑子里,哈哈)

let g:ycm_key_invoke_completion = '' " (默认是 )是这个意思么,那个c-a不懂怎么敲

我遇到了这个问题,搜索百度搜狗谷歌都没有找到,也包括官网文档也看了。都没有具体解决这个诡异的问你,,,其实很简单就可以解决了。
比如:
'-I'
'.'
这个就是当前所有的文件显示。好了仔细分析,如果去掉这个上面2行就会没任何的东西菜单显示。
根据实际情况解决就简单了哈哈哈
测试:
'-I'
'./note/dms/'
注意有个点,是当前配置文件所在的目录,(我是把.ycm_extra_conf.py放到~/根目录的),然后新建立一个文档,dms下的头文件就全部显示出来了。是不是很简单就解决了这个问题。 不要说出去了,很丢人的。自己默默的反省把。