C++ 配置 company-clang 和 company-irony 不能正常属性补全

目前配置的是company-clang 和company-irony,但还是不能正常属性补全(同一个属性有时能补全,有时又不行,好奇怪,十分不稳定)。而comanpy-irony里面的Compilation Database一直是空的,项目下面有个.clang_complete,但也是一直加载不上,使用了irony-cdb-autosetup-compile-options一直都是无效。整了几天了一直没搞定,求大神帮忙!

:frowning2:没人解答

company-clang 和 clang-irony 编译和配置都是非常复杂和繁琐的,我目前已经弃用了。 而且就算你配置好了,也容易出现补全不稳定的情况。目前我更喜欢 ctags 来补全,速度更快,更稳定。

至于怎么配置的问题,多读读这些 package 的文档肯定是可以解决的。我们也很难帮到你,文档都写在那里了,你可以把你遇到的错误跟 package 的作者一起去讨论一下。

ctags是不支持语义补全的吧,没有这个感觉编写起来不方便

确实是不支持语义补全的,不过代码写多了,其实语义补全作用没有想像中那么大。

谢谢山人了,改天我去掉这些用ctags尝试下

请问子龙~仅仅使用tags可以补全结构体成员变量吗?

我使用的gtags,其它补全都还好,就是结构体成员变量补全不了,函数内部自己定义的变量也补全不出来,不知道怎么回事。请问你有什么建议吗?

我的配置是好的:
;; If irony server was never installed, install it. (unless (irony–find-server-executable) (call-interactively #'irony-install-server))

(add-hook 'c++-mode-hook 'irony-mode)
(add-hook 'c-mode-hook 'irony-mode)

;; Use compilation database first, clang_complete as fallback.
;;(setq-default irony-cdb-compilation-databases 'irony-cdb-json)

(add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)    

前提irony-install-server有编译