【发布时间】:2010-11-11 08:42:09
【问题描述】:
我正在使用 Visual Studio 2008 (C++),并希望生成该项目中定义的所有类的列表。有谁知道可以轻松提取这些的工具?
当然,简单的“在文件中查找”是不够的。
编辑:应该自动创建类列表,结果应该是一个简单的类名文件(每行一个类)。
【问题讨论】:
标签: c++ visual-studio visual-studio-2008 winapi class
我正在使用 Visual Studio 2008 (C++),并希望生成该项目中定义的所有类的列表。有谁知道可以轻松提取这些的工具?
当然,简单的“在文件中查找”是不够的。
编辑:应该自动创建类列表,结果应该是一个简单的类名文件(每行一个类)。
【问题讨论】:
标签: c++ visual-studio visual-studio-2008 winapi class
Doxygen 会这样做并加载更多。它是生成各种文档的真正好工具
【讨论】:
您可以在“类视图”窗口中浏览项目中的所有类等 (View > Class View)。您甚至可以创建自己的文件夹并组织类来创建自己的结构。例如。您可以创建名为 Refactor、Unused、Suspect 等的文件夹。
您无法打印课程视图,但浏览器可能对您仍有帮助。
【讨论】:
您可以使用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
【讨论】: