我一直在寻找一些描述如何使用 doxygen 生成简单类图的材料,但找不到。有人可以帮忙吗?
I need to create diagrams as shown below from a set of C++ files.
如果有更好的工具可以更轻松地实现此目的,请告诉我。
嗯,这似乎是一个老问题了,但是由于我最近几天一直在摆弄 Doxygen 配置,而我的脑子里仍然充满了当前的信息,让我们来尝试一下 -
我想前面的答案差不多都有了:
缺少的选项是添加COLLABORATION_GRAPH = YES
在 Doxyfile 中。我假设你可以在 doxywizard GUI 中的某个地方做同样的事情(我不使用 doxywizard)。
因此,作为一个更完整的示例,我倾向于使用的与 UML 输出相关的典型“Doxyfile”选项是:
EXTRACT_ALL = YES
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
UML_LOOK = YES
UML_LIMIT_NUM_FIELDS = 50
TEMPLATE_RELATIONS = YES
DOT_GRAPH_MAX_NODES = 100
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = YES
这些设置将生成“继承”(CLASS_GRAPH=YES
)和“协作”(COLLABORATION_GRAPH=YES
) 图表。
根据 doxygen 输出“部署”的目标,设置DOT_IMAGE_FORMAT = svg
也可能有用。使用 svg 输出,图表是“可缩放的”,而不是固定分辨率的位图格式(例如 .png)。显然,如果在 IE 以外的浏览器中查看输出,也有INTERACTIVE_SVG = YES
这将允许对生成的 svg 图表进行“交互式缩放和平移”。我前段时间确实尝试过,svg 输出在视觉上非常有吸引力,但当时浏览器对 svg 的支持仍然有点不一致,所以希望这种情况最近可能有所改善。
正如其他评论所提到的,其中一些设置(DOT_GRAPH_MAX_NODES
特别是)确实有潜在的性能影响,所以 YMMV。
我倾向于讨厌“RTFM”风格的答案,所以对这句话表示歉意,但在这种情况下,Doxygen 文档确实是你的朋友,所以请查看有关上述设置的 Doxygen 文档 - 上次我查看时,你可以在以下位置找到详细信息:http://www.doxygen.nl/manual/config.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)