“包括”和“包含在”的doxygen图形创建时嵌套深度从上到下增加(使用1.8.5)。
由于我们大多数浅层图形都有很多节点,因此这会产生非常宽的图形,并带有丑陋的水平滚动条。有没有办法教doxygen以从左到右的方向创建这些图形,它创建调用者/调用图的方式?
我知道graphviz/dot
支持这一点,但无法找到告诉doxygen的方法。
答案 0 :(得分:2)
最近有一个类似的问题问我是否重复回答: Doxygen: Is it possible to control the orientation of dependency graphs?
在寻找同样的自己并找不到任何东西之后,我能提供的最好的就是使用图形属性rankdir进行黑客攻击。
步骤1)确保Doxygen保留点文件。在你的配置文件中放置DOT_CLEANUP = NO。
步骤2)找到Doxygen生成的点文件。应该是* __ incl.dot的形式。对于以下步骤,我将此文件称为<source>.dot
步骤3a)假设点文件未明确指定rankdir(通常默认为TB&#34;),使用此命令重新生成输出。
dot -Grankdir="LR" -Tpng -o<source>.png -Tcmapx -o<source>.map <source>.dot
步骤3b)如果由于某种原因在点文件中指定了rankdir,请进入该文件并添加rankdir="LR"
(默认情况下,rankdir
设置为"TB"
)。
digraph "AppMain"
{
rankdir="LR";
...
然后使用:
重新生成输出dot -Tpng -o<source>.png -Tcmapx -o<source>.map <source>.dot
每次运行Doxygen后都需要重做。批处理文件可能很方便,特别是如果要处理所有文件。对于步骤3b,批量替换文本超出了本答案的范围:)。但这里似乎是一个很好的答案:
How can you find and replace text in a file using the Windows command-line environment?