工欲善其事必先利其器,把GoLand调教的符合自己的习惯,也是能够节省大量时间的。本篇文章主要记录自己常用的一些配置内容。
1.代码前进后退功能
查看代码时,经常会在多个文件或者函数间跳转,如果想回到上一个查看位置,可以使用此功能
该栏默认不显示,需要进行配置,配置位置为:View->Appearance->Toolbar
2.代码自动生成
2.1单元测试代码
Go代码需要配套写单元测试,但单元测试的框架是定的,如果每次重复写架子很浪费时间,GoLand提供了自动生成单元测试功能。在Code->Generate中,可以按照需求选择生成哪些测试代码。
2.2函数代码
有些代码只是名字不同,但是结构是完全相同的,对于这种代码也没有每次编写拷贝的必要。我们可以使用代码模板功能。在GoLang->Perferances->Editor->Live Templates->Go中进行配置。
配置过程中需要起名(用于调用使用)、写描述、写模板内容,模板中需要设置变量,变量的获取可以通过Edit variables配置。
func $FUNC$(ctx context.Context) (resp *$BASE$.$FUNC$Response, err error) {
req := &$BASE$.$FUNC$Request{
}
resp, err = $CLIENT$.$FUNC$(ctx, req)
if err != nil {
logs.CtxError(ctx, "[rpc] $CLIENT$ $FUNC$ err: %+v", err)
return nil, err
}
logs.CtxInfoKvs(ctx, "[rpc] $CLIENT$ $FUNC$ resp:%v", resp)
if resp.BaseResp.StatusCode != 0 {
logs.CtxError(ctx, "[rpc] $CLIENT$ $FUNC$ status error: %+v", resp.BaseResp)
err = fmt.Errorf(resp.BaseResp.StatusMessage)
return nil, err
}
return resp, nil
}
配置完成后,只要粘贴板里有内容,就能自动生成代码,如粘贴板内容为Show,调用rpccreate后的结果:
func Show(ctx context.Context) (resp *baseinfo.ShowResponse, err error) {
req := &baseinfo.ShowRequest{
}
resp, err = .Show(ctx, req)
if err != nil {
logs.CtxError(ctx, "[rpc] Show err: %+v", err)
return nil, err
}
logs.CtxInfoKvs(ctx, "[rpc] Show resp:%v", resp)
if resp.BaseResp.StatusCode != 0 {
logs.CtxError(ctx, "[rpc] Show status error: %+v", resp.BaseResp)
err = fmt.Errorf(resp.BaseResp.StatusMessage)
return nil, err
}
return resp, nil
}
3.注释
写代码写注释是个好习惯,讲一下如何方便添加文件注释和函数注释。
3.1新文件注释
新增文件添加注释比较简单,在GoLang->Perferances->Editor->File and Code Templates中,对Go File进行修改即可。
3.2函数注释
GoLand自身对于函数注释支持的不是很好,但好在市面上有很多不错的插件,这里推荐goanno,在GoLang->Perferances->Plugins中可以安装
安装完成之后,在函数上方使用快捷键control + commond + / 便能自动生成函数注释,如:
/**
* @Author: ***
* @Description:
* @param a
* @return b
*/
func test(a int) (b int) {
return 0
}
如果对于自动生成的内容不满意,可以进行编辑,修改位置为Tools->Goanno Setting:
资料
- https://blog.csdn.net/u010243725/article/details/110726943
- https://www.jianshu.com/p/964e5b0c4b7a
- https://blog.csdn.net/wzbwzh/article/details/105859498
最后
大家如果喜欢我的文章,可以关注我的公众号(程序员麻辣烫)
我的个人博客为:https://shidawuhen.github.io/
往期文章回顾:
招聘
设计模式
- Go设计模式(6)-单例模式
- Go设计模式(5)-类图符号表示法
- Go设计模式(4)-代码编写优化
- Go设计模式(4)-代码编写
- Go设计模式(3)-设计原则
- Go设计模式(2)-面向对象分析与设计
- Go设计模式(1)-语法
语言
架构
存储
网络
工具
读书笔记
思考