You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Sphinx autodoc将类和方法加入目录?

解决Sphinx 6.1中autodoc内容自动加入目录的问题

全局配置方案

在Sphinx配置文件conf.py中添加对应配置,即可全局控制autodoc生成的类、方法等不加入目录:

方案1:全局启用noindex

直接通过autodoc_default_options给所有autodoc指令默认加上:noindex:选项,阻止内容被索引及加入目录:

autodoc_default_options = {
    'noindex': True,
}

方案2:禁用对象条目自动加入目录

如果不想完全禁用索引,仅需阻止autodoc生成的对象出现在目录中,可使用Sphinx 4.0+新增的toc_object_entries配置:

# 禁止自动生成的类、方法等对象条目出现在目录树
toc_object_entries = False

这个配置能精准解决你遇到的“类和方法消失后成员反而出现在目录”的问题。

方案3:自定义autodoc模板

若以上方案不满足需求,可自定义autodoc模板移除目录条目逻辑:

  1. 从Sphinx的autodoc模块复制默认模板(如class.rst、method.rst)到项目_templates/autodoc/目录
  2. 修改模板,删除用于生成目录条目的相关标记(通常是:tocentry:相关内容)

生效验证

配置完成后,执行以下命令重新生成文档:

make clean && make html

此时autodoc生成的类、方法及其成员都不会出现在目录中,同时类型提示可正常显示。

内容的提问来源于stack exchange,提问作者user2302957

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 22:32:03