sphinx.ext.viewcode
– 添加指向高亮显示源代码的链接¶
模块作者:Georg Brandl
在 1.0 版本中添加。
此扩展查看您的 Python 对象描述(.. class::
、 .. function::
等),并尝试查找包含这些对象的源文件。找到后,将为每个模块输出一个单独的 HTML 页面,其中包含高亮显示的源代码版本,并且将向所有对象描述添加一个链接,该链接指向所描述对象的源代码。还将插入从源代码返回到描述的链接。
警告
基本上,viewcode
扩展将导入要链接到的模块。如果任何模块在导入时具有副作用,则在运行 sphinx-build
时将执行这些副作用。
如果您记录脚本(而不是库模块),请确保它们的主例程受 if __name__ == '__main__'
条件保护。
此外,如果您不想通过 viewcode
导入模块,则可以使用 viewcode-find-source
事件将源代码的位置告知 viewcode
。
如果启用 viewcode_follow_imported_members
,您还需要使用 viewcode-follow-imported
事件来解析导入的属性。
此扩展仅适用于 HTML 相关构建器,如 html
、applehelp
、 devhelp
、 htmlhelp
、 qthelp
等,除了 singlehtml
。默认情况下,epub
构建器不支持此扩展(请参阅 viewcode_enable_epub
)。
配置¶
- viewcode_follow_imported_members¶
- 类型:
bool
- 默认:
True
如果为
True
,viewcode 扩展将发出viewcode-follow-imported
事件,以便其他扩展解析模块的名称。在 1.3 版本中添加。
在 1.8 版本中更改: 从
viewcode_import
重命名为viewcode_follow_imported_members
。
- viewcode_enable_epub¶
- 类型:
bool
- 默认:
False
如果为
True
,即使您使用 epub 构建器,viewcode 扩展也会启用。此扩展在 toctree 之外生成页面,但这对于 epub 格式来说不是首选。在 1.4.x 之前,此扩展始终启用。如果您想生成与 1.4.x 相同的 epub,则应设置为
True
,但 epub 格式检查器的得分会变得更差。在 1.5 版本中添加。
警告
并非所有 epub 阅读器都支持 viewcode 扩展生成的页面。这些阅读器会忽略指向不在 toctree 下的页面的链接。
即使阅读器支持,某些阅读器的渲染结果也会损坏,并且 epubcheck 的得分也会变得更差。
- viewcode_line_numbers¶
- 类型:
bool
- 默认:
False
如果设置为
True
,内联行号将添加到突出显示的代码中。在 7.2 版本中添加。
- viewcode-find-source(app, modname)¶
在 1.8 版本中添加。
查找模块的源代码。此事件的事件处理程序应返回源代码本身和标签字典的元组。字典将类、函数、属性等的名称映射到其类型、起始行号和结束行号的元组。类型应为 “class”、“def” 或 “other” 之一。
- 参数:
app – Sphinx 应用程序对象。
modname – 要查找源代码的模块名称。
- viewcode-follow-imported(app, modname, attribute)¶
在 1.8 版本中添加。
查找属性的原始模块名称。
- 参数:
app – Sphinx 应用程序对象。
modname – 属性所属的模块名称。
attribute – 要跟踪的成员名称。