登录
首页 >  Golang >  Go问答

JetBrains GoLand 网页模板格式设置与代码自动补全

来源:stackoverflow

时间:2024-02-19 08:45:22 396浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《JetBrains GoLand 网页模板格式设置与代码自动补全》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

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

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

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

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


正确答案


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

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

此外,我建议使用“*.go.html”作为 go 模板扩展。这样,即使在 vscode 中、github 上在线打开模板等时,您也可以看到语法突出显示。

如果您输入:

{{- /*gotype: github.com/USERNAME/PROJECTNAME/internal/models.TemplateData*/ -      }}

在模板文件的顶部,goland 将促进您从 golang 引入模板的自定义数据的属性和嵌套属性的代码完成。每次输入点运算符 {{.}} 时都会弹出。请注意,templatedata 是您在“func (t *template) execute(wr io.writer, data any) error”中传递给模板的自定义类型

https://www.jetbrains.com/help/go/integration-with-go-templates.html

您甚至可以为传递给模板的自定义函数获取代码补全,只要您将这些函数设置为 templatedata 类型的属性或方法即可。在模板文件中公开自定义函数的另一种方法是使用 mytemplate.funcs() 并通过 template.funcmap 类型传递它们,但据我所知,这不允许代码完成。

https://www.calhoun.io/intro-to-templates-p3-functions/

到这里,我们也就讲完了《JetBrains GoLand 网页模板格式设置与代码自动补全》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>