02-go的IDE安装
此篇文章是在go已经安装的前提下进行的,如果go还没有安装请参考这篇文章 01-go安装。
本文章使用的是vscode作为go IDE,所以需要提前安装好vscode,并且是在linux系统下。
当前系统为linux mint 19,ubuntu deepin等系统类似。
安装扩展插件
打开vscode编辑器,在扩展中搜索 go 关键字,不出所料应该第一个插件就是了,如图:
然后点击安装,安装完成之后需要安装一些go工具,主要有以下:
- gocode
- gopkgs
- go-outline
- go-symbols
- guru
- gorename
- gotests
- gomodifytags
- impl
- fillstruct
- goplay
- godoctor
- dlv
- gocode-gomod
- godef
- goreturns
- golint
一共是17个工具。下面分别简要介绍以下这些工具是做什么用的。
工具 | 说明 | 连接 |
---|---|---|
gocode | 代码自动补全 | 连接 |
gopkgs | 自动补全未导入包 | 连接 |
go-outline | 在当前文件中查找引用 | 连接 |
go-symbols | 在项目路径下查找引用 | 连接 |
guru | 查询所有引用 | 连接 |
gorename | 重命名符号 | 连接 |
gotests | 单元测试 | 连接 |
gomodifytags | 修改结构体标签 | 连接 |
impl | 新建接口 | 连接 |
fillstruct | 结构体成员默认值 | 连接 |
goplay | 运行当前go文件 | 连接 |
godoctor | 重构引擎 | 连接 |
dlv | 调试工具 | 连接 |
gocode-gomod | go模块管理 | 连接 |
godef | 跳转到声明 | 连接 |
goreturns | 格式化代码 | 连接 |
golint | lint工具 | 连接 |
安装go工具
在vscode中使用快捷键 Ctrl + Shift + P
调出命令界面,然后输入 go install,然后选择 Update Tools,如图:
紧接着会出现工具选择,一般我们全部选择,选择完成之后回车即可。
通过快捷键Ctrl +
Tab上的那个按键调用出终端,点击输出选项,我们会看到有一些工具安装成功了,有一些安装失败了,如下:
我们也可以在GOPATH目录下查看已经成功安装了哪些工具:
如果全部成功安装会这样显示:
由此可见我们只成功安装了8个工具,下面我们来安装剩下的9个工具。
在项目下创建pkg/mod
文件夹,然后在mod文件夹下创建 golang.org/x/
,此时切换到此文件夹下,打开终端执行:
git clone https://github.com/golang/tools.git
此时x目录下会出现tools文件夹。
切换到$GOPATH
目录下,打开终端输入以下命令安装,安装那些你上一步没有成功的插件。分别是:
- go-outline,执行
go install github.com/lukehoban/go-outline
- go-symbols,执行
go install github.com/newhook/go-symbols
- gocode,执行
go install github.com/mdempsky/gocode
- godef,执行
go install github.com/rogpeppe/godef
- godoctor,执行
go install github.com/godoctor/godoctor
- gorename,执行
go install golang.org/x/tools/cmd/gorename
- gotests,执行
go install github.com/cweill/gotests
- guru,执行
go install golang.org/x/tools/cmd/guru
- impl,执行
go install github.com/josharian/impl
如果golint没有安装成功,使用需要在mod目录下创建github.com目录,然后在github.com目录下打开终端执行,
git clone https://github.com/golang/lint.git
,最后安装go install golang.org/x/lint/golint
。
为了配合新的包管理还有提高代码提示性能,建议安装下面两个工具:
- goimports
- gopls
go install golang.org/x/tools/cmd/goimports
go install golang.org/x/tools/cmd/gopls
这里有一个小诀窍,就是发现哪个不能下载就把这个包手动git clone到
$GOPATH/pkg/mod
文件夹下,然后在安装,要注意创建相应的文件夹,例如常见的github.com和golang.org/x。
调试配置
1.点击vscode的运行按钮或者快捷键Ctrl + Shift + D
,在出现的页面中选择create a launch.json file
,然后选择Go
此时会在项目下创建.vscode
文件夹和其文件夹下的 lanuch.json 文件。
2.在lanuch.json文件中配置如下:
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "Launch","type": "go","request": "launch","mode": "auto","host": "127.0.0.1","port": 2345,"program": "${fileDirname}","env": {},"args": [],"showLog": false}]
}
3.测试调试功能
在项目文件夹下创建src文件夹,用于存放代码,然后在创建一个main.go文件,内容如下:
package mainimport "fmt"func main() {fmt.Println("Hello, 世界")
}
我们在fmt.Println("Hello, 世界")
这一段代码的前面打上断点,然后按F5
,就会出现调试页面:
到了这一步你就可以调试go程序了。
调试端口是2345,要尽量比较其他程序占用此端口,否则会导致失败。
修正代码提示延迟
如果代码提示并不是很慢不需要配置,此处略过。如果出现提示很慢,甚至不提示,可以参照下面教程配置一下。
一般这种情况出现在windows下,linux基本灭有。
在vscode设置界面搜索go.useLanguageServer
,然后勾选,这是会有提示是否重新加载,选择是即可。同样也可以在 setting.json 文件内追加设置
"go.useLanguageServer": true
这样做的目的是启动golsp,使得gomod下代码提示速度增强。修改后vscode需要重启。