gpt4 book ai didi

c++ - .ycm_extra_conf.py 和 Exuberant Ctags 有什么关系

转载 作者:行者123 更新时间:2023-11-28 00:00:25 26 4
gpt4 key购买 nike

我目前正在将基于 C++ 的 IDE 从 XCode 切换到 Vim。我一直在阅读有关 Vim 插件“YCM”的信息,它需要在源目录中存在 .ycm_extra_conf.py。我正在使用 YCM Generator 生成 .ycm_extra_conf.py 和 Ctags 来生成标签。我的问题是什么使用标签? YCM 对 Ctags 有什么用吗(它收集了所有关于代码的定义和重要信息)? YCM 是否以任何方式使用 CTags 生成的标签? .ycm_extra_conf.py 的生成是否需要 Tags 的存在?

最佳答案

我会说 YCM 不需要标签数据库。如果您将其编译为依赖 clang 解析器,那么,您将获得非常智能的完成。没有它,多亏了标签,你会得到总比没有好的东西。

否则,大多数其他插件都依赖标签数据库来完成各种事情。例如tagbar将在您的系统中显示标签的结构化轮廓。在 lh-cppvim-refactor为了推导parents,children,member,跳转/生成函数定义等,我在最后一刻建立了一个标签库。

您必须知道,我们无法通过标签实现像我们能够通过基于 clang 的插件实现的那样智能的东西。生成标签实际上要快得多(但 YCM 在后台工作,以及标签生成插件,如 easytags (IIRC)、Gutentag 和 lh-tags v2(我维护))。不幸的是,他们错过了可能的信息。特别是当我们使用不太活跃的 exhuberant ctags 时——我强烈推荐 universal ctags而不是解析 C++ 代码,它甚至可以理解 C++11 结构。

关于c++ - .ycm_extra_conf.py 和 Exuberant Ctags 有什么关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39442434/

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