首页 > 解决方案 > 如果在同一级别,Doxygen(或其他工具)类似地记录类和命名空间

问题描述

我有一堆命名空间(包含自由函数)和类(显然包含成员函数),每一个在顶层都有一个 Doxygen 注释和一些针对其成员的 Doxygen 注释。它们位于顶级命名空间(一个用于整个项目)和二级命名空间(将项目分解为包)。像这样:

我没有任何@file意见。它们完全是多余的,因为每个组件已经有一个主注释,它附加​​到主类或命名空间。

我尝试通过 Doxygen 运行它,结果是一团糟:

有什么办法可以稍微清理一下吗?也许与狮身人面像和呼吸?

示例屏幕截图

这是 Doxygen 在上述代码中默认生成的内容(它甚至没有提到BazTwo!),以及我更喜欢它的样子:

示例模拟屏幕截图

标签: doxygenpython-sphinx

解决方案


这是一个特别可怕的 hack,但我提到它是为了记录。您可以决定 Doxygen 最好地处理类,并将所有组件命名空间(第三级命名空间)重新标记为类。像这样:

namespace proj {
namespace pkg1 {

/// @brief The Doxygen comment goes here.
#ifdef DOXYGEN
class
#else
namespace
#endif
Baz {

然后设置PREDEFINED = DOXYGENDoxyfile.

显然,this 的缺点是它在源代码中看起来很丑陋,而且它在文档中显示为“类”令人困惑。


推荐阅读