golang在设置windows环境变量的时候有点问题,喜欢在文件夹后面加\,设置完之后最好自己再改一遍。
编辑环境变量GOROOT,将C:\Go\改成C:\Go
编辑环境变量path,删掉;C:\Go\bin\,然后在最开头写上%GOROOT%\Go;
验证是否安装
C:\>go version go version go1.7 windows/amd64
二、安装VScode
vs的扩展插件在C:\Users\[用户名]\.vscode\extensions目录下,想离线安装的自己拷贝过来,然后重启两次VScode
Ctrl+P输入ext install Go,然后回车,可能相当一部分用户网络不是很好,还是用离线的方式安装吧
安装完成之后,建议改一下设置改成自动保存,文件-->首选项-->用户设置,在右边的setting.json输入
// 将设置放入此文件中以覆盖默认设置 { // 控制已更新文件的自动保存。接受的值:“off”、“afterDelay”、“onFocusChange”。如果设置为“afterDelay”,则可在 "files.autoSaveDelay" 中配置延迟。 "files.autoSave": "on" }
三、安装工具
执行这一步前先安装Git,并设置好环境变量GOPATH,GOPATH是你的工作目录,你想在哪个目录写代码就配置成哪个目录。
后面的工具也会安装在这个目录下
配置好之后,在cmd环境下执行下面几个命令(执行下面命令的前提是安装Git和配置好GOPATH,否则会报错)
#安装gocode go get -u -v github.com/nsf/gocode #安装godef go get -u -v github.com/rogpeppe/godef #安装golint go get -u -v github.com/golang/lint/golint #安装go-find-references go get -u -v github.com/lukehoban/go-find-references #安装go-outline go get -u -v github.com/lukehoban/go-outline #安装goreturns go get -u -v sourcegraph.com/sqs/goreturns #安装gorename go get -u -v golang.org/x/tools/cmd/gorename #安装gopkgs go get -u -v github.com/tpng/gopkgs
上面的命令出自一个博客,下面的是微软官方文档的脚本
go get -u -v github.com/nsf/gocode go get -u -v github.com/rogpeppe/godef go get -u -v github.com/golang/lint/golint go get -u -v github.com/lukehoban/go-outline go get -u -v sourcegraph.com/sqs/goreturns go get -u -v golang.org/x/tools/cmd/gorename go get -u -v github.com/tpng/gopkgs go get -u -v github.com/newhook/go-symbols go get -u -v golang.org/x/tools/cmd/guru
实际上为了使用F5调试,我们还需要dlv工具
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
详细的安装信息和扩展能干什么,可以参看微软的官方文档
https://marketplace.visualstudio.com/items?itemName=lukehoban.Go
调试运行时mode参数可以被设置为:
debug 编译调试器下的程序文件夹和发射的内容。 [默认] remote test 在程序文件夹中调试测试。 exec 来运行构建当前代码的程序文件夹的预建的二进制文件来代替。
测试代码test.go
//测试代码test.go package main import "fmt" func main() { fmt.Println("Hello,world") }
在VScode下,F5就能看到结果了
下面是命令行运行和编译二进制的命令
#运行go文件的命令 go run test.go #编译成exe运行 go build test.go #上面生成test.exe,下面是运行test.exe test.exe实际上VScode下生成的debug也是编译后的二进制文件,加个.exe的后缀名照样可以想命令行的exe一样运行