在我的C#项目中使用doxygen和graphviz,我可以在文档页面中生成类图。这些图表中包含完整的类名和命名空间,例如
Acme.MyProduct.MyClasses.MyClass
是否可以将doxygen配置为仅将其减少到类名?
MyClass
完全合格的路径使得简单的图表变得相当宽广和笨重。我想尽量减少水平滚动的需要。
答案 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,'"