【问题标题】:How to exclude certain methods in python code from doxygen?如何从 doxygen 中排除 python 代码中的某些方法?
【发布时间】:2018-09-28 11:09:43
【问题描述】:

我想从 python 代码创建一个 doxygen 文档,但我想从一个类中排除一些方法。

我在doxygen配置文件中没有找到直接排除类方法的东西,但是我在here找到了问题4。所以在我设置的配置中:

ENABLE_PREPROCESSING   = YES

PREDEFINED             = DOXYGEN_SHOULD_SKIP_THIS

在我做的代码中

#ifndef DOXYGEN_SHOULD_SKIP_THIS
def log(text):
    ....
    ...
#endif /* DOXYGEN_SHOULD_SKIP_THIS */

为了从文档中排除 log 方法,我再次运行 doxygen,但没有得到预期的结果。 log 的文档仍在文档中...

我做错了什么?如何正确排除方法被记录或出现在调用者/被调用者图中?

【问题讨论】:

    标签: python doxygen


    【解决方案1】:

    提到的文档有点过时(从 1.3.5 版开始,即从 2004 年开始;目前我们有 1.8.14 版)。请始终使用http://www.doxygen.nl 的官方文档。

    并非所有语言都进行预处理,python 也没有(据我所知,python 没有预处理功能)。

    当前文档说明:

    18.5 如何让 doxygen 忽略某些代码片段?

    新的和最简单的方法是在应该被忽略的代码段的开头添加一个带有\cond 命令的注释块和一个带有\endcond 命令的注释块。这当然应该在同一个文件中。 但是您也可以为此使用 doxygen 的预处理器: 如果你把

    #ifndef DOXYGEN_SHOULD_SKIP_THIS
    /* code that must be skipped by doxygen */
    #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    

    围绕应该隐藏和放置的块:

    PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
    

    在配置文件中,只要将ENABLE_PREPROCESSING 设置为YES,doxygen 就会跳过所有块。

    一个工作示例:

    def log_shown(text):
        pass
    
    ##\cond
    def log_not_shown(text):
        pass
    ##\endcond
    

    请注意,由于示例中缺少文档,您必须将配置项 EXTRACT... 设置为 YES

    \cond\endcond 参见文档,同时查看配置设置:ENABLED_SECTIONS

    【讨论】:

    • 感谢您的回答 - 但您的回答与我找到的描述有何不同?对我来说它看起来完全一样......
    • 查看关于\cond / \endcond 的部分以及我提到python 没有经过预处理的事实。
    【解决方案2】:

    您可以尝试使用过滤器(请参阅filters4Doxygen)作为预处理器来获取您的结果。

    您必须为 pyton 创建一个自定义过滤器(用作示例 BATdoxFilter.bat(sh)): 过滤器“排除”将使用正则表达式在 bin/rgx/excpt.RGX 中定义:

    ## rule 1, /*skip*/.../*endskip*/  is destroid
    regex1=(?mis)/\\*skip(.)*?endskip\\*/
    replacement1=
    

    注意:我没有测试过正则表达式,因此可能需要进行一些调整:请参阅https://github.com/msillano/regexfilter/blob/master/README.pdf

    希望能帮到你。

    最好的问候,女士

    【讨论】:

      猜你喜欢
      • 2022-06-14
      • 2011-08-03
      • 1970-01-01
      • 2011-03-11
      • 2017-10-02
      • 1970-01-01
      • 2020-03-06
      • 2020-10-22
      • 2015-08-16
      相关资源
      最近更新 更多