goland IDE使用说明

1 常用快捷键

以下是windows版本快捷键。

1.1 编辑相关

快捷键 说明
Shif+Enter 另起一行
Ctrl+D 复制当前行或选中代码块到下一行
Ctrl+Y 删除当前行或选中代码块
Ctrl+Z 撤销上一步操作
Ctrl+Shift+Z 重做上一步操作
Ctrl+R 替换当前文件特定内容
Ctrl+Shift+R 替换当前项目特定内容
Ctrl+ C、V、X 复制、粘贴、剪切
Ctrl+/ 行注释启用和取消 //
Ctrl+Shift+/ 代码块的注释启用和取消 /**/
Alt+Shift+鼠标左键 选择一列,可以对多行数据同时编辑


1.2 查找相关

快捷键 说明
Ctrl+F 当前文件搜索
Ctrl+Shift+F 当前项目搜索
Ctrl+E 显示最近的文件
Ctrl+Shif+Alt+N 查找系统库函数
Alt+F7 查找指定的变量名、对象名、函数名在当前项目中所有引用的位置和次数
Ctrl+Shif+F7 查找结果Alt+F7一样,只是直接显示结果,不包含文件目录
双击Shift 综合查找,同时查找包括classes(类名)、files(文件名)、symbols(变量名、成员名、函数名,也就是类的方法和变量)
Ctrl+N 查找类名(classes)
Ctrl+Shif+N 查找文件名(files)
Ctrl+Shif+N 查找类的方法和变量(symbols)
Ctrl+B 快速打开光标处的类或方法,与Ctrl+鼠标点击效果一样,可以双向跳转
Ctrl+Shift+B 找变量的类,例如job,err:=newJob(),光标在job或err上,然后使用快捷键可以快速定位到类定义位置
Ctrl+H 显示类结构图,光标指定的类
Ctrl+Q 显示注释文档图,光标指定的类
Ctrl+Shif+P 查看表达式类型,自动选中包含的代码块


1.3 自动代码相关

快捷键 说明
Alt+Insert 生成代码,例如构造函数、测试代码等。(1) 生成构造函数操作流程,光标指定在结构体对象时,按下Alt+Insert快捷键,选择Constuctor,选择fields(按shift+点击可多选),确定后自动填充构造函数代码。(2)自动填写测试代码块流程,把光标移动到函数定义位置,按下Alt+Insert快捷键,选择test for function,会自动创建测试文件并填充该函数的测试代码块,也可以选择一次性添加所有函数测试代码块。
Ctrl+Alt+V 自动生成函数返回值,例如先写了函数,按下快捷键,自动生成返回值变量
Ctrl+I 实现接口,按下快捷键Ctrl+I,弹出框可以使用已有的结构体对象或者新创建结构体对象,然后再输入框里填写已定义的接口名称,会自动生成实现该接口方法的代码
Ctrl+J 自动添加代码(consts、vars、iotas、method、test、benchmark等),在文件的空白处,按下快捷键,选择对应的类型
Ctrl+Alt+Space 类名或接口名提示,例如输入io,突然切换焦点,然后光标切回io位置,按下快捷键会自动提示
Ctrl+Shift+Space 自动补全代码,包括函数名、对象的方法名、参数名等
Alt+Enter 弹出帮助选项,等效于点击旁边有个小灯泡
Shift+F6 安全批量重命名对象、变量、函数、注释
Ctrl+Alt+T 把选中的代码块放在 for{} IF{} ELSE{} 里
Ctrl+Alt+M 重构表达式为函数(光标在表达式末尾),光标移动调用函数位置,按下快捷键,自动生成重构函数


1.4 其他常用快捷键

快捷键 说明
Ctrl+鼠标 悬停:显示信息摘要;点击:跳转到定义位置
Ctrl+Shift+上下箭头 上下移动行内容
Ctrl+Alt+左右箭头 前进或后退
Ctrl+W 递进选择代码块
Ctrl+Shift+W 返回上一次选择代码块状态
Alt+F12 调出终端
Ctrl+Shift+加减号 展开或折叠函数代码块
Alt+F1 在任意视图下弹出当前文件或功能窗口



2 个性化设置和插件安装

2.1 个性化设置

显示工具栏
【View】-->【Appearance】勾选Toobar,显示工具栏


设置主题字体

主题1 Monokai

【File】-->【Setting】-->【Edit】-->【Color Scheme】,选择主题Monokai

【File】-->【Setting】-->【Edit】-->【Font】,选择字体verdana,字体大小16

主题2 GapStyle,需要先安装插件GapStyle Color Scheme

【File】-->【Setting】-->【Edit】-->【Color Scheme】-->【Gereral】,选择主题GapStyle

【File】-->【Setting】-->【Edit】-->【Color Scheme】-->【Color Font】,选择字体verdana,字体大小16


go环境设置
【File】-->【Setting】-->【Go】-->【GOROOT】选择安装go root位置

【File】-->【Setting】-->【Go】-->【GOPATH】如果不存在,添加进去


设置git
【File】-->【Setting】-->【Version Control】-->【Git】,填写Path to git executable,例如 D:\Program Files\cmder\vendor\git-for-windows\bin\git.exe


设置Terminal
【File】-->【Setting】-->【Tools】-->【Terminal】,选择Shell path,例如 D:\Program Files\cmder\vendor\git-for-windows\bin\bash.exe


设置代理
【File】-->【Setting】-->【Appearance & Behavior】-->【System Setting】-->【HTTP Proxy】,选择Manual proxy configuration,选择SOCKS,填写Host name和Port number,填写No proxy for,例如192.168.*


2.2 安装插件

在goland安装插件,【File】–>【Setting】–>【Plugins】,点击Marketplace,搜索插件:

插件名称 使用 插件说明
GapStyle Color Scheme - 以生产力为导向的配色方案,每采用丰富的色彩进行定制,同时保持舒适的对比度,帮助开发人员提高不同编程语言的读写速度。
Atom Material Icons - 自定义文件和 IDE 图标,用于改进视觉,安装后在图标在IDE顶部显示
Json Helper 图标在IDE右边菜单栏显示 美化、丑化、转义,反转义你的json
String Manipulation 选中文本右键选择string manipulation 大小写切换、排序、过滤、递增、与列对齐、grepping、转义、编码
MultiHighlight 快捷键:Ctrl+’ 使用自定义颜色突出显示,在阅读源代码时很有帮助。
Translation 选中文本,右键选择翻译,图标在顶部菜单显示 翻译
Protocol Buffers - 高亮显示proto文件
Makefile Language - 语法高亮显示makeFile文件内容
New Relic CodeStream - 代码审查 GitHub、GitLab、PR
Swagger - 轻松编辑 Swagger 和 Open API 规范文件的插件。
Statistic 图标在底部菜单显示 统计代码
LeetCode Editor 图标在右边菜单显示 支持leetcode.com和leetcode.cn,可以测试和提交问题
RegexpTester 图标在底部菜单显示 正则表达式测试器
Tabnine 图标在底部菜单显示,点击图标使用github登录 代码自动提示
Github copilot 图标在底部菜单显示,使用说明看 [[github copilot]] 代码自动补全


离线安装插件,下载插件地址 https://plugins.jetbrains.com

【File】–>【Setting】–>【Plugins】,点击设置符号,选择 Install Plugin from Disk



3 自动插入代码

golang IDE可以通过模板、接口实现等方式自动插入代码,减少手动写代码,提高了编码效率。

golang IDE的go语言自带一些常用模板,当然也可以定义自己常用的模板。

golang IDE默认模板

模板名称 说明
err 判断err不等于nil
meth 方法
for for遍历
forr for range 遍历
test test单元测试
bench test单元压力测试
…… ……

Edit–>Live templates 选择go。

模板管理


3.1 设置自定插入代码模板

Edit–>Live templates 选择go,可以编辑或添加新模板。

(1) for模版

模板名称 说明
fori for循环

模板代码如下,设置变量SIZE默认值为”20”。

for i := 0; i < $SIZE$; i++ {
 $END$
}


(2) 把对象转换为json

模板名称 说明
oj 把对象转换为json的字符串格式,方便输出打印对象,注:只有导出成员(第一个字母大写)才能转换为json。使用fmt包的打印函数会优先读取对象的String方法,不需要.String()去获取。

模板代码如下,设置变量Receiver默认值为”Receiver”

func (o *$Receiver$) String() string {   
    if o == nil {
        return "object is nil"
    }

    value, err := json.Marshal(o)
    if err != nil {
        return err.Error()
    }

    return string(value)
}


3.2 设置结构体tag模板

常用设置的成员属性模板

模板名称 说明 Template Text Variables Value
json json json:"$FIELD_NAME$"$END$ camelCase(fieldName())
jb json和bson的简称 json:"$FIELD_NAME$" bson:"$FIELD_NAME$"$END$ camelCase(fieldName())
jg json和gorm的简称 json:"$FIELD_NAME$" gorm:"column:$FIELD_NAME2$;COMMENT:'';not null"$END$ camelCase(fieldName()), snakeCase(fieldName())
jt json和toml的简称 json:"$FIELD_NAME$" toml:"$FIELD_NAME$"$END$ camelCase(fieldName())

Edit–>Live templates 选择go struct tags

成员属性模板


自定义组合模板设置

组合成员属性模板


3.3 通过实现接口自动插入代码

选中一个结构体对象,按组合键Alt+Enter或点击旁边的小灯泡,选择Implement interface,然后搜索需要实现的接口,比如reader接口,golang IDE会自动插入对象实现接口代码段。

插入实现接口代码段

func (data) Read(p []byte) (n int, err error) {
    panic("implement me")
}



4 其他设置

4.1 代码规范检查

golangci-lint

安装插件

【File】 –> 【Settings】 –> 【Plugins】 –> 【marketplace】搜索go linter,点击安装插件。

配置插件

【File】 –> 【Settings】 –>【Tools】–> 【Go Linter】点击Get latest安装golangci-lint软件,如果无法下载,可以去官网 https://github.com/golangci/golangci-lint/releases 下载到本地,然后指定golangci-lint路径。

配置扩展工具

【File】 –> 【Settings】 –> 【Tools】–> 【External Tools】点击+号按钮,在弹出框分别填写

名称
Name golangci-lint
Description 代码规范检查工具
Program 你的golangci-lint安装目录
Arguments run $FilePath$
Working Director $ProjectFileDir$

配置使用快捷方式

【File】 –> 【settings】 –> 【Keymap】 –> 【External Tools】 –> 右键golangci-lint选择 add keyboard shortcut,在弹出框输入快捷键,例如Ctrl+Alt+7


golint
# 安装golint
go get github.com/golang/lint
go install github.com/golang/lint/golint
# 记录下golint的二进制文件路径

# 整个项目代码检查
golint ./...

(1) 添加golint到IDE

【File】 –> 【Settings】 –> 【Tools】–> 【External Tools】,左上角的+号添加工具,添加如下图所示:

添加golint插件

名称
Name golint
Program C:\Work\Golang\Package\bin\golint.exe
Arguments $FileDir$
Working directory $ProjectFileDir$

Arguments的值说明:

  • $FilePath$ 表示只检测当前文件
  • $FileDir$ 表示检测当前文件夹下所有文件


(2) 为工具添加快捷方式

【File】 –> 【Settings】 –> 【Keymap】–> 【External Tools】,右键golint,选择 add keyboard shortcut,在弹出框输入快捷键,如下图所示:

添加golint快捷键



5 注意事项

(1) 由IDE代理引起的http请求错误

当IDE设置了proxy之后,记得设置no proxy for选项,例如192.168.*,如果不设置,所有http请求都走proxy,会返回EOF错误。


(2) 解决无法识别goroot问题

找到go安装目录下文件zversion.go 例如路径:C:\Go\src\runtime\internal\sys\zversion.go.

打开文件添加const TheVersion = "go1.17.2",具体根据实际情况填写版本。



专题「工具」的其它文章 »