我刚刚发现了vim的taglist插件,并阅读了如何将它与ctags一起使用.
然而,令人失望的是ctags是一个非常简单的解析器.
有没有更完整的替代方案?
具体来说,我正在寻找一些东西:
扩展#define(x, y) x ## y函数声明的样式宏
处理#include陈述
允许为依赖项指定包含路径
我看到clang提供了一个用于访问c AST的程序api,所以这肯定不是很难吗?
有人已经做过吗?
-
编辑:
这些不削减它:
clang_indexer - 不编译; 什么时候(黑客攻击后),不起作用(无休止的错误).
clang_complete - 似乎没有比ctags好.没有特定于上下文的建议,没有结构完成,没有函数参数,没有宏扩展; 只是一个符号列表和它们来自的文件.
我已经使用omniCppComplete + ctags一段时间了,并希望进一步改进代码完成.
根据这里的建议[ 1 ],gccsense和clang_complete似乎是替代品.但是,我不确定哪一个更好.他们的表现有什么想法吗?
谢谢!
更新:在我尝试clang_complete之后,我发现完成速度非常不可接受.然后我尝试使用libclang.dylib,它加速了很多,但仍然让人觉得滞后.我想我现在应该坚持使用ctags.