如何轻松查看C/C++包含图?

如何轻松查看C/C++包含图?,c++,c,visual-studio,include,C++,C,Visual Studio,Include,我正在寻找一个工具,最好是一个Visual Studio插件,它可以显示给定文件包含的所有文件,并显示这些文件包含的所有文件,依此类推。不在您的首选项中,但doxygen做得很好。借助,可以做到这一点。您首先需要编辑一个配置文件。第一次这样做并不容易,但之后不需要太多编辑 这不是VS插件,但可以作为您自己工具的启动程序。据我所知,它只读取VC6项目,较新的VS具有易于解析的XML格式。您需要的是默认的包含路径,以便工具可以找到包含的文件。或者,您可以在GUI中为其提供一个设置框作为用户输入。可能

我正在寻找一个工具,最好是一个Visual Studio插件,它可以显示给定文件包含的所有文件,并显示这些文件包含的所有文件,依此类推。

不在您的首选项中,但doxygen做得很好。

借助,可以做到这一点。您首先需要编辑一个配置文件。第一次这样做并不容易,但之后不需要太多编辑


这不是VS插件,但可以作为您自己工具的启动程序。据我所知,它只读取VC6项目,较新的VS具有易于解析的XML格式。您需要的是默认的包含路径,以便工具可以找到包含的文件。或者,您可以在GUI中为其提供一个设置框作为用户输入。

可能不是您想要的,但是Visual Studio编译器cl.exe有一个选项/showIncludes,当您编译文件时,它将显示一个包含目录树

如果要将此信息用于单个文件,则可以在解决方案资源管理器中右键单击该文件,选择“属性”,然后在命令行部分向其他选项添加/showIncludes。注意,我使用的是VC++2005,因此对于较新的版本可能会有所不同

您得到的输出有点。。。很复杂,但它显示了包含的内容和顺序


顺便说一下,GCC和英特尔C++编译器的相同特性,我的版本至少是H.

> P>如果你使用Visual Studio 2010,你可以使用来自微软的新的,它有一个特性来生成包含图。不过,这只能通过MSDN下标获得。

首先,cinclude2dot.pl是一个perl脚本,它分析C/C++代码并生成一个包含依赖关系图作为点文件输入到graphviz中

如果你不想走那种手动工具的路,那么在我看来,到目前为止,手把手的胜利者是ProFactor的IncludeManager工具

有一个免费试用版,非常棒。它是VisualStudio的一个插件,完全集成在一起,因此双击此处的某个内容可以将您带到此处包含它的位置

工具提示鼠标盖提供您想要的所有信息,它允许您向下/向上钻取,删除您不关心的整个子树,查看图形以外的表示,循环浏览此和那个的匹配列表,这太棒了

如果你做得很快,你可以在试用期结束之前重构大型项目的include结构。即便如此,它的成本也不高,每个许可证大约35美元


就它的功能而言,它几乎是完美的。不仅包括图形,还包括共享文件的跨项目依赖关系、对构建时间的影响、网格中的详细属性,完美。

您可以尝试以下建议的方法:

有一个C/C++->高级项目设置展示。那个 将生成树。它映射到编译器开关


欺骗对我的搜索失败了。@JohanKotlinski,我认为这个主题谈论的只是跟踪依赖关系,而不是如何创建一个图表,这在我看来是一个重要的区别。如果这是一个功能包,就像它看起来一样有用,那么这篇文章至少应该得到100票的支持。从截图上看,建模功能包确实像一个梦幻工具。但是,您不仅需要MSDN订阅,还需要高级或终极Visual Studio才能获得下载资格-实际上C++在大多数情况下都是不可行的。在大多数情况下,它很简单——要么使用doxGeor向导的Windows GUI生成它,要么从命令行运行doxGeun-G生成默认DOXI文件,然后确保您有值包含图,并包含由yScript图设置为yes。然后,您可能需要运行几次Doxygen并检查输出以调整参数。IncludeManager看起来很容易做到这一点,而且价格低廉。我试试看。IncludeManager已经免费发布了,因为他们已经停止了交易。