我正在使用 doxygen 来记录我的 Python 代码。那是因为项目中的大部分代码都是用 C++ 编写的,而 doxygen 与 C++ 配合得很好。
我想记录在 C++ 扩展中动态创建的函数/类。在这种情况下,文档字符串不是一个选项(它们是在运行时创建的),因此唯一的方法是在导入后显式记录它们(这对用户来说也是最有意义的)。但是 doxygen 似乎没有认识到在 Python 中导入的实体成为范围的成员。所以问题是:
如何在 Python 中记录导入的符号?
我尝试按照文档进行操作:
## @package test
# test module
## foo - before
def foo():
pass
def bar():
pass
## @fn bar
# bar - after
from ext import baz
## @fn baz
# baz - imported
foo
并bar
妥善记录:
...但是 doxygen 报告丢失baz
:
./test.py:14: warning: documented symbol 'test::baz' was not declared or defined.
我也试过@var
了,但我相信正在使用的命令不是问题。那么我如何记录 Python 导入呢?可能吗?
注意:我使用了最前沿的 doxygen 1.8.3.1。