之前没用过vscode,试着配置了一下。新手一个,希望有问题可以告知我。
1.下载vscode 和 go
Downloads - The Go Programming Language
(M1的go下载一定要是arm64位的,最好使用pkg形式的一步到位。)
2. vscode中安装 go工具包
(我自己的电脑不需要配置环境,一安装完就能 go version成功,所以不需要 source ~/.bash_profile文件)
(如果要go文件在任何地方都可编译,似乎需要:
export GOBIN
=
$GOPATH
/
bin
export PATH
=
$PATH:$GOBIN
)
在终端输入go env 找到GOROOT和GOPATH对应的位置,记录下来
一般来说,
OROOT="/usr/local/go",go开发包的安装目录。
GOPATH="/Users/你的用户名/go",go开发源代码的目录(最好在这个位置的src下构建工程)
3.!! 在终端中任意位置使用下面代码,类似于换源的设置:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
4.创建文件
打开vscode,找到打开文件夹后,找到GOPATH的位置(go),创建一个src 的文件夹(我自己的刚下载完只有一个pkg文件夹,所以需要自己创建),然后在src中再创建一个project,然后写一个test.go的脚本保存。这个时候如果vscode装好了go的插件,会弹出一堆安装提醒,无脑install即可(会保存在GOPATH的bin目录下)。然后打开终端在此project的目录下,输入go mod init。
Go Modules的使用
这玩意非常简单,我们只需要明白它为什么存在,以及如何用即可
Go mod的存在,是官方强推,为了替代GOPATH而诞生的一个Go语言依赖库管理器。之前所有的包都丢在GOPATH中,烦skr人
这货最大的好处就是,我们依赖的包可以指定版本。
其次所有程序依赖的包,只会存在同一份。不会像npm那样,同一个包还能有n多个存在。这样我们的电脑就很省空间了
使用起来也非常简单,常用命令就一个
go mod tidy
,通俗来说就是将当前的库源码文件所依赖的包,全部安装并记录下来,多的包就删掉,少了的就自动补上编写完代码后执行
go mod tidy
即可,这个命令会自动下载依赖的库,也会删除多余的库
5.设置debug的launch.json文件
一般来说这个时候在文件夹下会有个 .vscode的目录,里面有launch.json(如果没有自己创建一个json文件即可),然后输入代码
{
"version": "0.2.0",
"configurations": [{
"name": "LaunchGo",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}",
"env": {
"GOPATH": "填自己的GOPATH路径",
"GOROOT": "填自己的GOROOT路径"
},
"args": [],
//"showLog": true
}
]
}
保存后重启软件,在test.go中编写小段代码
package main
import "fmt"
func main() {
fmt.Println("Hello, World!!!!")
}
按F5(mac电脑使用Fn+F5),即可运行。 (中间右下角可能还需要安装dlv什么的文件,安装就是了,有概率会报错,多试几遍,看到:)就说明成功了)
调试控制台输出的:
(黄色一大段的不知道是什么,大家知道怎么处理掉可以告知一下~)
6.(可有可无的一步)配置settings.json文件
在.vscode下建立一个settings.json,输入
{
"files.autoSave": "off",
"go.buildOnSave": true,
"go.lintOnSave": true,
"go.vetOnSave": true,
"go.buildFlags": [],
"go.lintFlags": [],
"go.vetFlags": [],
"go.coverOnSave": false,
"go.useCodeSnippetsOnFunctionSuggest": false,
"go.formatOnSave": true,
"go.formatTool": "goreturns",
"go.goroot": "XXXXX",// 你的Goroot
"go.gopath": "XXXXX",// 你的Gopath
}
小知识:src 存放源代码(比如:.go .c .h .s等)
pkg 编译后生成的文件(比如:.a)
bin 编译后生成的可执行文件(为了方便,可以把此目录加入到$PATH变量中
最后对比一下集成IDE(Pycharm)和vscode 用python的区别
1.Pycharm设置好环境后能直接运行调试程序,vscode需要通过json文件选好路径,之后还要下载配置debug文件到bin文件夹才能通过vscode调试。(可能Pycharm内就是包含了这些文件)
2.Pycharm可以比较方便的看到python所在环境的库和管理库
3.Pycharm占用内存很高