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

如何将autodoc对象从toctree中排除?支持按文件或单个对象粒度吗?

如何在Sphinx中排除autodoc对象出现在toctree中

单个autodoc对象粒度排除

直接在autoclass(或automodule、autofunction等)指令后添加:noindex:选项,就能阻止该对象的条目出现在TOC和索引中。示例:

.. autoclass:: mymodule.MyClass
   :noindex:

这个选项仅作用于当前指定的autodoc对象,不会影响同一文件内的其他autodoc内容。

整文件粒度批量排除

如果某个文件内的所有autodoc对象都无需出现在TOC中,可通过以下两种方式实现:

  • 全局默认设置:在文件开头添加全局autodoc配置,让后续所有autodoc指令自动应用:noindex:选项:
    .. autodoc::
       :noindex:
    
    这样文件内的autoclass、automodule等指令都无需单独添加选项,就能批量排除出TOC。
  • 调整toctree配置:如果autodoc对象是通过autosummary生成的条目被加入TOC,可在该文件的autosummary指令中去掉:toctree:参数,这样生成的内容就不会被添加到toctree里。

额外说明:Sphinx的toctree默认只展示文件的顶级标题,autodoc生成的子节(如类的文档内容)不会自动出现在toctree中,除非你在toctree中明确指定了这些子节的路径或使用glob模式包含它们。如果是这种情况,直接修改toctree内容,移除对应的子节路径即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:07:55