如何在doxygen类图中仅显示类名?

时间:2010-04-07 13:08:34

标签: c# documentation uml diagram doxygen

在我的C#项目中使用doxygen和graphviz,我可以在文档页面中生成类图。这些图表中包含完整的类名和命名空间,例如

Acme.MyProduct.MyClasses.MyClass

是否可以将doxygen配置为仅将其减少到类名?

MyClass

完全合格的路径使得简单的图表变得相当宽广和笨重。我想尽量减少水平滚动的需要。

2 个答案:

答案 0 :(得分:12)

我怀疑你已经解决了这个问题,因为它已经有一年了,但是对于其他寻找此问题的人来说,答案可能会有用(就像我刚才那样)。您可以使用“HIDE_SCOPE_NAMES”选项。将其设置为YES(或在doxywizard GUI中检查它)将隐藏名称空间。来自我的doxygen文件:

# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
# will show members with their full class and namespace scopes in the 
# documentation. If set to YES the scope will be hidden.

HIDE_SCOPE_NAMES       = YES

答案 1 :(得分:3)

HIDE_SCOPE_NAMES 效果很好,但只隐藏了类图中的范围,但没有隐藏每种方法的调用者/被调用者图。

要将这些图表的宽度减小到可读大小,您可以使用输入过滤器重命名范围。这不会删除命名空间,但会将其缩小到更可读的宽度。

例如,将命名空间“COMPANY_NAMESPACE”重命名为“sf”使用:

# The INPUT_FILTER tag can be used to specify a program that doxygen should 
# invoke to filter for each input file. Doxygen will invoke the filter program 
# by executing (via popen()) the command <filter> <input-file>, where <filter> 
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
# input file. Doxygen will then use the output that the filter program writes 
# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
# ignored.

INPUT_FILTER           = "sed 's,COMPANY_NAMESPACE,sf,'"