gpt4 book ai didi

VIM:更精确的 C/C++ 代码解析解决方案?

转载 作者:行者123 更新时间:2023-12-03 11:02:38 25 4
gpt4 key购买 nike

上一篇:
我已经在 VIM 工作了大约一年了。很多很棒的东西:组合、脚本。每当我在不同的编辑器中编辑内容时,如果没有 VIM 的导航,我会感到迟钝/不舒服。

问题:
最让我困扰的是使用现有工具(ctags、cscope)进行源代码导航。通常,ctags 找不到变量的声明,与 ctags 相对的 cscope 查找具有相同变量名称的所有定义。与调用树导航相同的疯狂,查找前向声明以及单个类定义等。
与 Eclipse 中的 MS Intellisense、Visual Assist 甚至源代码导航相比,Exuberant Tags/cscope 似乎至少被弃用了 10 年。

我知道有像 ViEMU 这样的工具,但它们并没有真正解决问题,因为你失去了很多 VIM 的功能。

问题:
我想知道是否有一种工具可以更好地进行源解析,或者有什么方法可以将 Intellisense 等源解析引擎集成到 VIM 中?
也许有商业解决方案,或者有人准备实现?

与通过单个 Alt-G 快捷键完成的 Visual Assist 相比,VIM 的所有优点似乎比导航到类定义时浪费的时间节省的时间更少。

最佳答案

搜索和调用树

你可以试试 eclim ,这是在 Vim 中使用某些 Eclipse 功能的一种方式。

对于 C/C++,它提供:

  • 上下文相关的完成(尽管它在 Windows 上被禁用,因为它有问题)
  • 项目文件中的上下文相关搜索(通过 :CSearchContext)
  • 函数/方法的调用树 ( :CCallHierarchy )
  • 代码验证 ( :Validate )

  • 这不是很好,但它在某些情况下可以提供帮助。

    代码完成

    关于自动代码补全,我主要使用 OmniCppComplete ,它使用标签来提供上下文感知代码完成。它并没有那么糟糕。

    根据 Luc Hermitte 的建议,您也可以使用 clang_complete不需要ctags,但需要安装clang。

    关于VIM:更精确的 C/C++ 代码解析解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5080211/

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