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
如果設定為
True
,viewcode 擴充功能會發出viewcode-follow-imported
事件,讓其他擴充功能解析模組名稱。在版本 1.3 中新增。
在版本 1.8 中變更: 從
viewcode_import
重新命名為viewcode_follow_imported_members
。
- viewcode_enable_epub¶
- 類型:
布林值
- 預設:
False
如果設定為
True
,即使您使用 epub 建構器,viewcode 擴充功能也會被啟用。此擴充功能會在 toctree 之外產生頁面,但這並非 epub 格式建議的做法。在 1.4.x 版本之前,此擴充功能是預設啟用的。如果您想要產生與 1.4.x 版本相同的 epub 輸出,應該將此選項設定為
True
,但 epub 格式檢查工具的分數會因此降低。在版本 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 – 要追蹤的成員名稱。