我正在使用doxygen来记录我的Python代码。那是因为项目中的大多数代码都是用C ++编写的,而doxygen在C ++中运行得很好。
我想记录在C ++扩展中动态创建的函数/类。在这种情况下,Docstrings不是一个选项(它们是在运行时创建的),因此唯一的方法是在导入后明确记录它们(这对用户来说也是最有意义的)。但doxygen似乎并未认识到在Python中导入的实体成为范围的成员。所以问题是:
如何在Python中记录导入的符号?
我尝试了documentation:
## @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。