我正在使用Vim编辑器进行C++项目的开发,最近我经常浏览现有代码以熟悉它。为了方便浏览,我使用了ctags和cscope插件,以便跳转到定义并查找引用。
然而,我发现它们都无法智能地知道一个成员变量/函数属于哪个类。例如:
class Square;
...
Square a;
...
a.rotate();
查找rotate()
的定义时,会出现其他类的成员函数,比如Triangle。我使用Vim中的g]
命令来列出匹配标签的列表,幸运的是ctags列出了每个条目的相关类。但是,当有200个类都有同一个成员函数时,寻找正确的标签可能很烦琐。
另外,如果我正在查看一个函数的定义:
Square::rotate()
{
...
}
使用cscope查找所有对rotate()
的调用会出现对Triangle和其他类的旋转函数的调用。
因此,我不得不时不时地跳到Visual Slickedit中查找成员函数或成员变量的定义或引用。有没有办法在老旧的Vim中完成这个任务?