Gopls:模板檔案支援
Gopls 為 Go 模板檔案提供了一些支援,即由 text/template
或 html/template
解析的檔案。
啟用模板支援
Gopls 根據副檔名識別模板檔案,該副檔名可透過 templateExtensions
設定進行配置。如果此列表為空,則模板支援將停用。(這是預設值,因為 Go 模板沒有標準的單一副檔名。)
可能需要其他配置,以確保您的客戶端在開啟模板檔案時選擇正確的語言型別。Gopls 識別模板檔案的 `"tmpl"` 和 `"gotmpl"`。例如,在 VS Code
中,您還需要向 files.associations
對映新增一個條目。
"files.associations": {
".mytemplate": "gotmpl"
},
功能
在模板檔案中,模板支援在預設的 {{
分隔符內工作。(Go 模板解析允許使用者指定其他分隔符,但 gopls 無法識別。)
Gopls 模板支援包括以下功能:
- 診斷:如果模板解析返回錯誤,它將顯示為診斷。(缺少函式不會產生錯誤。)
- 語法高亮:為模板檔案提供語法高亮。
- 定義:gopls 在模板內部提供跳轉到定義的功能,儘管它不理解作用域(所有模板都被視為在一個全域性作用域中)。
- 引用:gopls 提供查詢引用功能,具有與定義相同的範圍限制。
- 補全:gopls 將嘗試在模板內部提供補全建議。
待辦:也支援
- 懸停 (Hover)
- 語義標記
- 符號搜尋
- 文件高亮
本文件的原始碼可以在 golang.org/x/tools/gopls/doc 下找到。