Python コードの文書化に doxygen を使用しています。これは、プロジェクトのほとんどのコードが C++ で書かれており、doxygen が C++ でうまく機能するためです。
C++ 拡張機能で動的に作成された関数/クラスを文書化したいと考えています。この場合、Docstring はオプションではありません (実行時に作成されます)。したがって、唯一の方法は、インポート後に明示的に文書化することです (これは、ユーザーにとっても最も理にかなっています)。しかし、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 を使用しました。