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 相关构建器,如 htmlapplehelpdevhelphtmlhelpqthelp 等,除了 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 – 要跟踪的成员名称。