:模式:sphinx.ext.viewcode–添加指向突出显示的源代码的链接

模块作者: Georg Brandl

Added in version 1.0.

这个扩展查看您的Python对象描述(。。类:```。。函数:``etc.)并尝试查找包含对象的源文件。找到后,将为每个模块输出一个单独的HTML页面,其中突出显示源代码版本,并将向所有对象描述添加一个链接,该链接指向所描述对象的源代码。还将插入从源到描述的链接。

警告

基本上,`viewcode`扩展将导入链接到的模块。如果任何模块对导入有副作用,则在运行“sphinx build”时将执行这些副作用。

如果你要引入脚本(而不是库模块),确保主程序 main 有这个条件保护着:if __name__ == '__main__'

另外,如果不想通过“viewcode”导入模块,可以使用:event:`viewcode find source`事件将源代码的位置告知“viewcode”。

如果启用:confval:`viewcode_follow_imported_members’,则还需要使用:event:`viewcode follow imported`事件解析导入的属性。

此插件仅适用于与HTML相关的生成器,如“HTML”、“applehelp”、“devhelp”、“htmlhelp”、“qthelp”等等,但“singlehtml”除外。默认情况下,请参阅`epub`不支持`epu``扩展名。

配置

viewcode_follow_imported_members

如果为“True”,则viewcode插件将发出:event:`viewcode follow imported`事件,通过其他插件解析模块的名称。默认值为“True”。

Added in version 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”。

Added in version 1.5.

警告

并非所有epub阅读器都支持viewcode插件生成的页面。这些读者会忽略指向不在目录树下的页面的链接。

某些读取器的呈现结果已损坏,并且“epubcheck”<https://github.com/IDPF/epubcheck>`_即使读者支持,他的分数也会变得更糟。

viewcode_line_numbers

Default: False.

If set to True, inline line numbers will be added to the highlighted code.

Added in version 7.2.

viewcode-find-source(app, modname)

Added in version 1.8.

查找模块的源代码。此事件的事件处理程序应返回源代码本身的元组和标记字典。字典将类、函数、属性等的名称映射到其类型、起始行号和结束行号的元组。类型应为“class”、“def”或“other”之一。

参数:
  • app – Sphinx应用程序对象。

  • modname – 要查找其源代码的模块的名称。

viewcode-follow-imported(app, modname, attribute)

Added in version 1.8.

查找属性的原始模块的名称。

参数:
  • app – Sphinx应用程序对象。

  • modname – 属性所属模块的名称。

  • attribute – 要跟随的成员的名称。