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¶
如果此值为
True
,则 viewcode 扩展将发出viewcode-follow-imported
事件,以便其他扩展解析模块名称。默认为True
。新增于版本 1.3。
更改于版本 1.8: 从
viewcode_import
重命名为viewcode_follow_imported_members
。
- viewcode_enable_epub¶
如果此值为
True
,则即使使用 epub 构建器,viewcode 扩展也会启用。此扩展会在 toctree 之外生成页面,但这不适合 epub 格式。在 1.4.x 之前,此扩展始终启用。如果你希望生成与 1.4.x 相同的 epub,则应将其设置为
True
,但 epub 格式检查器的得分会降低。默认为
False
。新增于版本 1.5。
警告
并非所有 epub 阅读器都支持 viewcode 扩展生成的页面。这些阅读器会忽略不在 toctree 下的页面的链接。
即使阅读器支持,某些阅读器的呈现结果也会损坏,并且 epubcheck 的得分也会降低。
- viewcode_line_numbers¶
默认值:
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 – 要跟踪的成员名称。