イベントをオーバーライドするとautodoc-process-docstring
(@delnan が指摘)、以下を に追加すると役立ちますconf.py
。
# set up the types of member to check that are documented
members_to_watch = ['function',];
def warn_undocumented_members(app, what, name, obj, options, lines):
if(what in members_to_watch and len(lines)==0):
# warn to terminal during build
print "Warning: ", what, "is undocumented: ", name, "(%d)"% len(lines);
# or modify the docstring so the rendered output is highlights the omission
lines.append(".. Warning:: %s '%s' undocumented" % (what, name));
そして、この関数をイベントに接続します (この SO スレッドの回答から):
def setup(app):
app.connect('autodoc-process-docstring', warn_undocumented_members);
オン(オフ)にするには、警告に undoc-members を含めます(除外します)- in でグローバルautodoc_default_flags
にconf.py
、または質問のように両方のディレクティブを使用します。
autodoc_default_flags = ['members', 'undoc-members' ]
#autodoc_default_flags = ['members' ]
編集:
次の方法で、このアプローチを拡張して undoc メンバーだけを生成しようとしました。
- 条件付き
warn_undoc=True
で、関数の実行中にオブジェクトにプロパティを設定しますwarn_undocumented_members
(上記) 。
- 設定されていない
autodoc-skip-member
場合にすべてのメンバーをスキップするプリプロセッサ イベントに 2 番目のオーバーライド関数をアタッチします。warn_undoc
autodoc-skip-member
ただし、発生する前にメンバーのグループごとに発生するため、さらに調査すると、このアプローチは除外されautodoc-process-docstring
ます。したがって、docstring の有無に基づいて条件付きでスキップするには、プロパティの設定が遅すぎます。