gpt4 book ai didi

vim - 有没有比 ctags 效果更好的替代方案?

转载 作者:行者123 更新时间:2023-12-03 07:35:02 24 4
gpt4 key购买 nike

我刚刚发现了 vim 的 taglist 插件,并阅读了 how to use it with ctags .

然而,令人失望的是 ctags 是一个非常简单的解析器。

是否有更完整的替代方案?

具体来说,我正在寻找以下内容:

  • 展开 #define(x, y) x ## y函数声明的样式宏

  • 进程 #include声明

  • 允许为依赖项指定包含路径

我看到 clang 提供了一个用于访问 c AST 的编程 api,所以这肯定不是很难做到吗?

有人已经做到了吗?

--

编辑:

这些不能解决问题:

  • clang_indexer - 不编译;当它起作用时(黑客攻击后),不起作用(无尽的错误)。

  • clang_complete - 似乎并不比 ctags 更好。没有上下文特定的建议,没有结构完成,没有函数参数,没有宏扩展;只是符号列表及其来源的文件。

最佳答案

我自己也花了相当长的时间来解决这个问题。

我得到的最接近的是一个叫做 gccsense 的东西。 。不幸的是,该项目似乎已被放弃,而且设置起来也很困难,因为英语不是作者的母语。

我最终从另一个角度解决了这个问题。我决定智能感知/自动完成对我的编码来说比拥有 vim 的所有可用功能更重要,所以我选择了像 Eclipse 这样的 IDE,然后找到了一个模拟 Vim 的 Eclipse 插件。到目前为止,我发现的最好的类似插件是 Viable .

以下是我尝试过但发现不满意的选项的完整列表:

  • clang - 要求您从 gcc 切换到不同的“更好”编译器。问题是 gcc 更加成熟[编辑显然你不需要切换编译器,请参阅下面的评论,我将来可能会再次尝试。]
  • gccsense - 好主意(使用 gcc 为您提供代码补全),但是该项目的工作被放弃了:(并且发布的版本是测试版质量
  • xref在 vim 中 - xref 是一个很棒的独立工具,非常适合解析 C。它可以通过 vxref 在 vi​​m 中工作。 ,但是根据我的经验,xref 缺乏解析当前 C++ 代码的能力,并且它的开发已经停止(以及 vxref 的开发)。
  • eclim - 似乎非常适合使用 eclipse 来支持 Java,但在解析 C++ 或 C 代码时速度极慢且完全不可靠。通常发生的情况是一切都工作了很长一段时间,但突然间,解析器停止解析您编写的任何新代码,除了加载 Eclipse 本身并强制 Eclipse 重新解析项目之外,似乎没有什么帮助。另外,不那么重要的事实,但更令人烦恼的是 eclim 接管了错误处理,因此它搞砸了 vim 通常解析 gcc 错误的方式,这意味着你无法访问快速修复列表,这很烦人。
  • netbeans + jvi - 很多人都对此深信不疑,但我在使用 jvi 时遇到了各种各样的问题。我遇到的一个主要问题是 jvi 会说我处于正常模式,但实际上处于插入模式,除了重新启动之外没有什么帮助。
  • eclipse + viplugin/vrapper - 这开始看起来像是最好的选择;每个都有自己的一组错误+缺乏功能,但仍然是最具吸引力的,直到我发现可行的似乎是最稳定且具有最多功能的。

如果您确实找到了满意的解决方案,请在评论中分享,因为我会对它感兴趣。

关于vim - 有没有比 ctags 效果更好的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7748454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com