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

Sphinx使用literalinclude指令引入代码块时如何去除多余缩进?

解决方法

直接使用Sphinx literalinclude 指令内置的 :dedent: 参数即可移除统一的多余前导缩进,两种常用方案如下:

  • 方案1:基于指定行号提取,添加:dedent:配置,参数值为每一行多余的前导空格数。你当前示例每一行多了4个空格的缩进,填写4即可,修改后的完整配置如下:
.. literalinclude:: ../../examples/example.py
   :language: python
   :lines: 13-42
   :dedent: 4

注:原来的:tab-width: 0配置无法处理缩进问题,可以直接删除。:dedent:仅移除所有行共有的前导统一空格,不会破坏代码内部的嵌套缩进结构。

  • 方案2:如果提取的是完整Python函数/类的内部代码,可改用:pyobject:参数直接指定目标对象名,不需要手动维护行号,Sphinx会自动提取对应代码并处理缩进,示例如下:
.. literalinclude:: ../../examples/example.py
   :language: python
   :pyobject: 目标函数/类的名称

修改配置后重新构建文档,代码块就会去掉多余缩进,显示为预期的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:45:06