我正在着手设置我的VIM,它具有更好的自动完成功能,主要用于类。在我的谷歌研究中,我遇到了omnicppcomplete和clang。我似乎弄不清这两者的优点/缺点。有人知道吗?
另外,一个比另一个更容易安装在第三方系统上吗?
任何反馈都会有所帮助。谢谢
Clang真的"理解"c++。这意味着它可以区分名为foo
的局部变量和名为foo
的成员函数。如果你想完成thisObject.fo...
,它不会给你fooContainer
的完成,而只给你Object::fooMethod
的完成。
此外,Clang可以处理所有C型语言,而ctags不能。
Omnicppcomlete基于ctags,它只是源树的文本索引。所以它会更密集,大部分时间都会做你想做的事;有时它会不那么准确。这不是一个真正的问题。
不过,我还没有安装Clang完成:(你可能必须自己构建Clang,而ctags很可能与你的发行版一起提供。