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 下找到。