如何在sublime text 2或3中找到c++函数的所有调用者

How to find all callers of a c++ function in sublime text 2 or 3?

本文关键字:函数 c++ 调用者 sublime text      更新时间:2023-10-16

是否有任何插件可以帮助找到Sublime中任何给定c++函数的所有调用者?在提出这个问题之前,我做了一些搜索,不幸的是没有任何运气:(1 .

下面是一个例子。假设源文件如下所示:

class A
{
    public void init()
    {
        cout<<"init in class A.";
    }
};
class B
{
    public void init()
    {
        cout<<"init in class B.";
    }
};
class C
{
    public void call()
    {
        A a;
        a.init();
    }
};
class D
{
    public void call()
    {
        B b;
        b.init();
    }
};

当我搜索class Ainit()方法时,我想找到所有的调用者,正确的答案应该只包括class C的调用函数,然而,崇高中的cscope插件会给我class Dclass C的调用函数,我的猜测是cscope未能区分class Binit()函数和class Ainit()函数,不知怎么地认为它们是相同的函数,从而返回两者的调用者?

基于我今天早些时候使用的一个优秀的通用答案,它超越了编辑器和平台。

只需注释掉这个函数,然后查看所有有编译错误的行。

有一个支持CTags的Sublime Text包,这可能是你在这里需要的。

如果你已经安装了Package Control,你可以直接安装CTags包

我使用了提供查找符号功能的CscopeSublime包。