使用ctags获取类继承

问题描述 投票:1回答:1

我试图让ctags输出一个C ++类层次结构,但它似乎很难与多重继承(甚至有时单一继承)。

e.g:

class Fred 
: public BaseFred
{

}; 

class John: public BaseJohn,
    public BaseFred
{

};


ctags -N -x  --c++-kinds=+p --fields=+i+k CtagsTest.cpp 
Fred             class         1 CtagsTest.cpp    class Fred 
John             class         7 CtagsTest.cpp    class John: public BaseJohn,

BaseFred在哪里?

ctags V5.8在两个(有效)情况下都错过了多重继承。

有更好的工具吗?

c++ ctags exuberant-ctags
1个回答
0
投票

默认情况下,即使指定了--fields = + i选项,-x也不会打印“inherits”。

Universal-ctags(qazxsw poi)可以帮到你。它有qazxsw poi选项。

https://ctags.io

--_xformat[jet@living]/tmp% ~/var/ctags/ctags -x --_xformat="%N => %i" foo.cc ~/var/ctags/ctags -x --_xformat="%N => %i" foo.cc Fred => BaseFred John => BaseJohn,BaseFred 解释。

© www.soinside.com 2019 - 2024. All rights reserved.