VIM 的 YouCompleteMe 不能跳到.cpp 文件中的定义
- 0次
- 2021-07-09 18:16:43
- idczone
请问一下, VIM 装了 YouCompleteMe 神器以后,运行都正常,在.cpp 文件中都跳转正常,但是在.h 中跳到 cpp 文件的定义就不行了,没有包含(include )关系的好像就不能识别出来,导致 YCM 只能跳到声明,看不了定义,请问一下大家有遇到同样的问题吗,怎么解决
根据作者自己说的是只能跳转到被显式的 直接或间接的 include 的文件
好像就是设计意图也没准备改
我不知道怎么绕过…
我发现 YouCompleteMe 的时候,以为可以让 VIM 媲美 IDE 了。
然后折腾了一会儿,发现还是比较难.
头文件中的声明在别的 cpp 中被包含的上下文中只能看到声明,这个上下文和具体实现的 cpp 属于两个不同的编译单元,想要实现跨编译单元的定义跳转,必须对每一个 cpp 进行语义分析并手动建立映射关系,然而这不是 youcompleteme 的实现方式。 youcompleteme 的跳转仅针对当前的编译单元,当然是跳转不到不同编译单元中的声明的。
看来只能与 ctag cscope 结合使用了