通过将以下内容添加到以下内容,覆盖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 - 全局使用autodoc_default_flags
in conf.py
,或使用问题中的两个指令。
autodoc_default_flags = ['members', 'undoc-members' ]
#autodoc_default_flags = ['members' ]
编辑:
我尝试通过以下方法扩展这种方法以仅生成 undoc 成员:
warn_undoc=True
在函数执行期间有条件地在对象上设置一个属性,例如warn_undocumented_members
(上)
autodoc-skip-member
如果没有设置,则将第二个覆盖函数附加到跳过所有成员的预处理器事件warn_undoc
。
然而,进一步的调查排除了这种方法,因为autodoc-skip-member
发生在每组成员之前autodoc-process-docstring
发生。因此,属性设置得太晚,无法根据文档字符串的存在/不存在有条件地跳过。