Jetbrains Goland HTML 模板格式和代码完成

问题描述

我在 Jetbrains Goland 中使用 Go HTML 模板。如何获得所有 3 项:HTML 格式、模板代码完成和模板的模板格式?

假设我安装了 Go Templates 插件并且我使用“*.tpl”作为模板的文件扩展名,我有两个选择:

  1. 设置 - 编辑器 - 文件类型 - HTML - 添加“*.tpl”作为 HTML 类型。 优点:我有一个带有警告的 HTML 代码完成和语法突出显示(参见 CON 2) CON 1:我没有模板项的代码完成,编辑器根本不知道模板 CON 2:模板代码块被视为文本,例如,当我尝试格式化代码时,我没有 RANGE 块的代码缩进。

  2. 设置 - 编辑器 - 文件类型 - Go 模板 - 添加“*.tpl”作为注册类型,“HTML”作为基础类型(“模板数据语言”) 优点:我有“点”的代码完成功能,可以看到它们的属性方法(参见 https://www.jetbrains.com/help/go/integration-with-go-templates.html) 缺点:没有 HTML 突出显示自动完成或格式设置...

解决方法

经过几个小时的研究,我终于找到了答案:

设置 - 语言和框架 - 模板数据语言 - 项目语言 - 设置“HTML”

另外,我建议使用“*.go.html”作为 Go 模板扩展。这样,即使在 VSCode 中、在 GitHub 上在线等打开模板时,您也可以看到语法高亮显示。