当前位置 : 主页 > 手机开发 > 其它 >

Doxygen:是否可以控制依赖图的方向?

来源:互联网 收集:自由互联 发布时间:2021-06-22
直到今天,我一直在使用doxygen(点)的“古代”版本(1.4.7),它通常绘制具有垂直方向的图形,例如 ..但是最近的一个(通过Ubuntu分发的1.8.6),图表似乎是水平的,即 水平方向的问题在于许多图形
直到今天,我一直在使用doxygen(点)的“古代”版本(1.4.7),它通常绘制具有垂直方向的图形,例如

..但是最近的一个(通过Ubuntu分发的1.8.6),图表似乎是水平的,即

水平方向的问题在于许多图形远离窗口的右边缘,因此您必须进行“2D”滚动才能看到数据.

我查看了doxygen网页,但看不到是否有一个选项告诉dot用垂直方向绘制它们.有谁知道这样的选项是否存在?

2014年有一个类似的问题,我重复回答:
Flip doxygen’s graphs from top-to-bottom orientation to left-to-right

在寻找同样的自己并且一无所获之后,我能提供的最好的就是使用图形属性rankdir的黑客.

步骤1)确保Doxygen保留点文件.在你的confige文件中放入DOT_CLEANUP = NO.

步骤2)找到Doxygen生成的点文件.应该是* __ incl.dot的形式.对于以下步骤,我将此文件称为< source> .dot

步骤3a)假设点文件未明确指定rankdir(默认情况下通常为TB),请使用此命令重新生成输出.

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?

网友评论