最近想体检下golang的功能,所以看了下官网,并选择了vscode 作为ide 工具
以下为重点配置项,踩过的坑自己填起来
简单介绍下go的包发展史,最初go的包是通过GOPATH固定目录来引用的,1.11版本来发展到现在mod包来管理,有点类似maven,就不用管GOPATH了,工具自动会去目录下找相应的包,进步了不少。
当然了安装好go sdk后,还是会有gopath目录的,因为go mod 的包也会默认放到 GOPATH下的pkg目录下。
【步骤】
1. https://golang.google.cn/ 下载最新版的go ,也就是sdk包了,安装好
2.设置代理,要不vpn(国内有墙),推荐使用 GOPROXY.IO - 一个全球代理 为 Go 模块而生,不知为何默认的aliyun代理下载不了包
3.安装vscode,官网Visual Studio Code - Code Editing. Redefined 可能有点慢
4.打开 vscode,安装go插件
5.还有go的其他插件,主要是在编写程序时会用到,什么包的引用查看啊之类的,有10来个包,打开一个go的文件,vscode会自动提示安装插件,点击Install All则可,或者通过ctrl+shift+p 窗口中输入Go:install/update Tools
创建个 main.go文件,
1
2
3
4
5
6
|
package main import "fmt" func main() { fmt.Println( "Hello,World!" ) } |
6.其他的go 命令参考官网
7.重点来了,使用mod管理后,vscode无法对第三方包智能提示,就是什么方法说明啊都看不见了,感觉眼前一团黑啊(非所有人都会这样),能运行,就是没有智能提示
主要是因为,我们项目的结构导致的,就是go.mod文件必须在根目录下
我当时是一个主目录,下面有几个子目录,每个子目录下有个go.mod,导致原本的包是可以查看,后引用的第三方包死活无法查看。。。折腾了几天,有一次无意中看到一个
多谢老兄 VsCode,GO语言,go mod 下导入第三方包飘红,但是可以执行_yanerkouxin的博客-CSDN博客
终于解决问题
其他的什么vscode的配置项use language server 啊,就看着配置吧
8.还有vscode插件会安装失败,那就用命令行自行安装
1
2
3
4
5
6
7
|
go install github.com /go-delve/delve/cmd/dlv @master go install golang.org /x/tools/gopls @latest go install honnef.co /go/tools/cmd/staticcheck @latest go install github.com /haya14busa/goplay/cmd/goplay @latest<br><br>…… |
如果有安装失败的,都把提示的包按这个格式安装下, @latest 为最新版本
至此环境配置完毕