【问题标题】:Is there a way to exclude package-level functions and members from Doxygen output?有没有办法从 Doxygen 输出中排除包级函数和成员?
【发布时间】:2010-11-04 09:27:18
【问题描述】:

我在工作场所使用 Doxygen,但遇到了 Java 代码问题。在 EXTRACT_ALL=NO、EXTRACT_PRIVATE=NO、EXTRACT_STATIC=NO、EXTRACT_LOCAL_CLASSES=NO 和 EXTRACT_LOCAL_METHODS=NO 时,输出仍然包括未定义为公共或私有的静态成员。

前。假设我有以下代码:

class EXAMPLE{

public static func1()

private static func2()

static func3()

}

func3 仅定义为 static,因为它是包级函数。

func1func3 出现在输出中,我只希望 func1 出现。

有谁知道只显示那些明确定义为公共的函数的方法?

提前致谢。

【问题讨论】:

    标签: java documentation static doxygen


    【解决方案1】:

    您可以将不希望在 doxygen 输出中看到的内容放在 \cond ... \endcond 块中:

    class EXAMPLE{
    
    public static func1()
    
    /// \cond
    
    private static func2()
    static func3()
    
    /// \endcond
    
    }
    

    【讨论】:

    • 感谢您的回复,但我的情况有点复杂。假设我不想展示的和我想展示的完全混合在一起。例如,每个其他函数都只声明为静态的。使用那些 \cond 块会很快变得非常乏味。我正在寻找更多能够更改配置文件中的属性的方法,而不必使用工具所需的额外 cmets 来混淆代码。
    【解决方案2】:

    为 Doxygen 开发一些新的过滤器(HTML、XSLT、BAT...,参见https://github.com/msillano/filters_dox)我创建了许多具有相同名称的伪函数。文件页面没问题,但这使得页面“文件成员/全部”和“文件成员/功能”没有任何兴趣。 在 Doxygen-config 中,无法排除该页面的创建(耻辱)。我找到了 HTML 输出的解决方法(1.8.15 版)。

    • 将专家/HTML/HTML_DYNAMIC_MENUS 设置为“是”。
    • 构建文档。
    • 编辑文件“navtreedata.js”(用于树形菜单)和“menudata.js”(用于选项卡菜单)。使用带有“括号匹配”的编辑器,可以轻松删除“文件列表”之后的所有项目。

    不优雅,但它有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 2011-11-05
      • 2012-05-24
      相关资源
      最近更新 更多