【问题标题】:Producing a list of all classes in a C++ project生成 C++ 项目中所有类的列表
【发布时间】:2010-11-11 08:42:09
【问题描述】:

我正在使用 Visual Studio 2008 (C++),并希望生成该项目中定义的所有类的列表。有谁知道可以轻松提取这些的工具?

当然,简单的“在文件中查找”是不够的。

编辑:应该自动创建类列表,结果应该是一个简单的类名文件(每行一个类)。

【问题讨论】:

    标签: c++ visual-studio visual-studio-2008 winapi class


    【解决方案1】:

    Doxygen 会这样做并加载更多。它是生成各种文档的真正好工具

    【讨论】:

      【解决方案2】:

      您可以在“类视图”窗口中浏览项目中的所有类等 (View > Class View)。您甚至可以创建自己的文件夹并组织类来创建自己的结构。例如。您可以创建名为 Refactor、Unused、Suspect 等的文件夹。

      您无法打印课程视图,但浏览器可能对您仍有帮助。

      【讨论】:

        【解决方案3】:

        您可以使用ctags 之类的工具来生成包含此类信息的标签文件。

        编辑:我刚刚在Zeus 编辑器中检查了这个ctags.exe 命令行,它似乎可以满足您的要求:

         ctags.exe --C++-kinds=+c-d-e-f-g-l-m-M-n-p-s-t-T-u-v-x-X-V somefile.cpp
        

        这个命令行从标签输出中排除除了类信息之外的所有信息,所以对一个c++文件运行这个命令会产生一个tags文本文件,它只包含该文件中的类信息。

        例如,这里是 Zeus 头文件之一的 tags 文件 的内容:

         !_TAG_FILE_FORMAT  2  /extended format; --format=1 will not append ;" to lines/
         !_TAG_FILE_SORTED  1  /0=unsorted, 1=sorted, 2=foldcase/
         !_TAG_PROGRAM_AUTHOR  Darren Hiebert  /dhiebert@users.sourceforge.net/
         !_TAG_PROGRAM_NAME  Exuberant Ctags  //
         !_TAG_PROGRAM_URL  http://ctags.sourceforge.net  /official site/
         !_TAG_PROGRAM_VERSION  5.7  //
         ZeusRebar  c:\projects\zeus3.96\zfwbar01.hpp  /^class ZeusRebar : public xRebar$/;"  c
         ZeusToolBar  c:\projects\zeus3.96\zfwbar01.hpp  /^class ZeusToolBar : public xToolBar$/;"  c
         ZeusToolPanel  c:\projects\zeus3.96\zfwbar01.hpp  /^class ZeusToolPanel : public ZeusRebar$/;"  c
        

        【讨论】:

        • 我正在使用类似于 ctags 的全局 (gnu.org/software/global)。你知道如何从标签文件中提取类列表吗?
        • 针对您的问题,我在回复中添加了更多细节;)
        猜你喜欢
        • 2019-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-07
        • 2013-04-20
        • 1970-01-01
        • 2010-09-23
        相关资源
        最近更新 更多