我一直在使用omniCppComplete ctags一段时间,并希望进一步完善代码.
根据这里的建议[1],gccsense和clang_complete似乎是替代品.但是,我不知道哪一个更好.任何关于他们的表现的想法?
谢谢!
更新:在我尝试了clang_complete之后,我发现完成速度非常不能接受.
然后我尝试使用libclang.dylib,这加速了很多,但仍然让人感觉迟到.
我想我现在应该坚持ctags.
你应该使用clang_complete,而不是gccsense.
这里的要点是两者的架构.两个解决方案背后的想法非常相似:您无法获得正常的C完成,而无法访问内部编译器(gcc)信息(抽象语法树),而gcc不提供足够的接口.访问此信息的实现部分在这里是非常不同的:gccsense是一种“hack” – 它是一个定制的gcc,可以存储必要的信息,以提供给插件,而clang_complete通过使用替代方法编译器:clang,创建的主要目标之一正是使AST易于通过外部工具访问.
所以,在使用gccsense的情况下,您需要使用一种自定义的gcc编译器来编译代码,这个编译器现在已经有点过时了(gccsense正在使用gcc 4.4),并且将不断需要开发人员的功能支持.相反,clang_complete并不依赖于clang编译器,它将其用作外部工具.
至于表现:再次cl was被设计为比gcc快,而且是.在Windows上,Clang_complete可能会比MacOS / Linux稍慢,但是gccsense甚至无法在Windows时被编译.