选用 goland 作为 go 语言编辑工具,它集成了很多便捷的功能,辅助我们提高开发效率。我列举一下,感兴趣的可以评论扩展。
Live Templates
动态模板,或者叫自定义动态模板。
比如,我们在代码中输入 consts 然后按 Tab,系统会自动帮我们生成预设的代码。这就是 goland 预制的动态模板的作用。
比如,代码现在要集成 swagger 文档,需要在所有的 api 方法上编写注释。我们就可以自定义一个动态模板,一键生成代码注释模板,然后独立填写方法间区别的部分。
在 “Preferences…” 对话框中,依次选择 Editor → Live Templates,然后添加一个 Template,按要求填写模板的生成代码块。
Abbreviation 指定的缩写词,使我们识别动态模板的关键,另外,就是配置 Template text 的内容,其中 $$ 表示的变量需要通过编辑 Edit variables 来指定。
File Template
文件模板要比动态模板简单,我们新建一个 .go 文件,自动生成的代码就是文件模板的功能。
创建新的文件模板完全是不需要的,更多的是编辑已经存在的文件模板。文件模板中除了我们自定义的纯文本内容外,还集成了一批预定义的变量。在 Description 中有详细的解释。
比如 ${DATE} 获取当前的日期。在新建文件的时候,如果需要自动生成一些预制的注释,就可以使用这个功能。
自动格式化代码
gofmt 是 Go 格式化代码的工具,我们可以配置到 goland 编译器中自动执行。
在 “Preferences…” 对话框中,依次选择 Tools → File Watchers,然后添加一个 Watcher,选择 go fmt 模板。
这样统一的处理方式,有利有弊。当然,在团队合作中,每个人的风格很难统一,选择特定区域的代码,只对特定部分的代码执行格式化,会更稳妥些。