Doxygen用Python未提取文件的方法描述

1 投票
2 回答
7530 浏览
提问于 2025-04-17 01:18

我正在用doxygen给一个Python项目写文档。我创建了配置文件,并设置了输入和输出目录,但我就只做了这些。当我生成文档时,它能提取出类和类的层级结构,但对于我那些包含函数的模块却提取不出来。

具体来说,我有一个.py文件,里面有一个主函数和一组我已经用正确的注释语法写好的函数,但这些函数在文档中完全没有出现。这是为什么呢?

2 个回答

2

与官方文档所说的不同,文档字符串中是支持“特殊命令”的。要使用这些命令,文档字符串必须以 """! 开头。

举个例子:

def area(l, w):
    """! Calculate the area in sqm

    @param l length 
    @param w width
    @return area 

    @todo throw error if l<0 or w<0
    """
    return l*w
3

在默认的doxygen配置下,模块级别的函数只有在它们所在的文件或模块被记录的情况下才会被文档化。例如:

##
# My function
#
def func():
    pass

如果文件没有被记录,这部分内容就不会被文档化:

##
# @file
# File documentation
#

或者,如果模块没有被记录:

##
# @package MyModule Module documentation
#

想了解更多关于如何在Doxygen中记录Python代码的信息,可以查看这个链接:http://www.doxygen.nl/manual/docblocks.html#pythonblocks

撰写回答