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

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

9个回答

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

lzslywl
lzslywl 回复智商是硬伤: 我看你你的答案,没有什么有用的内容
接近 5 年之前 回复

我也是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'
这句很重要

weixin_45137864
锅瓢 你的库函数 可以提示吗,我也是同样设置的,printf 都不能语义提示
6 个月之前 回复

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对比下,估计你一看就懂了

longbiao123456
darren_long 回复lzslywl: let g:ycm_key_invoke_completion = '<C-a>' " (默认是 <C-Space>)是这个意思么,那个c-a不懂怎么敲
接近 4 年之前 回复
longbiao123456
darren_long 回复lzslywl: 你好我现在也是gcc5.2.0但是我就是定一个vector对象时候点的时候没有相应函数出现
接近 4 年之前 回复
lzslywl
lzslywl 感谢你的耐心回答,你答案中给出的配置我之前都有配置,再就是gcc是我手动编译安装的5.2.0版本,相应的头文件路径我都已添加,能识别STL相关的类型和函数,但就是不能自己编写的头文件中的内容进行补全!
接近 5 年之前 回复

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

longbiao123456
darren_long 回复lzslywl: 求指导,急急急
接近 4 年之前 回复
EganLi
EganLi 回复lzslywl: 请问你是怎么解决的?少了哪个快捷键?谢谢
接近 4 年之前 回复
lzslywl
lzslywl 我的问题已经解决了,之前的配置没有问题,只是少了一个触发全局补全的快捷键,现在基本上已经满足了我的需求!
接近 5 年之前 回复

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐