vscode调试Go语言(简明教程)

Posted 王张飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vscode调试Go语言(简明教程)相关的知识,希望对你有一定的参考价值。

1、Go的安装

Go最新版安装包的下载(Go官网):https://studygolang.com/dl

WindowsMacOS的安装比较简单,双击打开安装包,一直点击next就可以安装成功。
Linux下的安装,将下载的Linux安装包中的go文件夹,解压到/usr/local路径即可。

在控制台输入go version,如果显示了版本号,即代表安装成功。

2、Go环境变量的配置

安装成功后,必须要配置环境变量。

(1) windows环境变量的配置:

windows环境下,go安装包安装成功后,会自动将go添加到path目录下,所以不需要再向Path环境变量中添加go

GOROOT设置:Go安装路径

“我的电脑”=》“属性”=》“高级系统设置”=》“环境变量”=》“系统环境变量”,新增GOROOT环境变量,如下图

GOPATH设置:

删除用户变量中的GOPATH设置,这个是go安装包默认添加的工作目录,一般不使用。

新建Go工作环境目录Go_Works,并在此目录下创建src,pkg,bin三个子目录。

新增GOPATH环境变量指向Go工作环境目录Go_Works,如下图

(2) 打开GoMOD,配置代理

在这里感谢「七牛云」为我们中国区的Golang开发者提供的代理服务

打开cmd命令窗,分别运行:

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

OK! 完成上述两步,我们打开vscode,插件都可以直接在vscode中直接下载了

(3) 在VSCode中安装Go插件

进入Extensions后直接搜索go,即可安装

(4) 创建文件
$GOPATH/src目录下,创建hello/hello.go文件,使用vscode打开。

注意:$GOPATH是我们刚刚配置的环境变量。比如上面配置的环境变量位置为D:\\Program Files\\Go_Works,即$GOPATH就是指D:\\Program Files\\Go_Works这个路径。

举例:那么$GOPATH/src就是指D:\\Program Files\\Go_Works/src目录

在安装了Go插件后的vscode,现在打开go文件后,会自动安装我们自己的必要的环境依赖

(5) Go Modules的使用

Go mod是官方强推,为了替代GOPATH而诞生的一个Go语言依赖库管理器。之前所有的包都丢在GOPATH中,而Go mod最大的好处就是我们依赖的包可以指定版本。而且所有程序依赖的包,只会存在同一份。不会像npm那样,同一个包还能有n多个存在。这样我们的电脑就很省空间了

常用命令为

go mod tidy

通俗来说就是将当前的库源码文件所依赖的包,全部安装并记录下来,多的包就删掉,少了的就自动补上

(6) 实例操作

进入我们的hello文件夹,并且执行go mod init即可

cd $GOPATH/src/hello
go mod init

当前文件夹下生成了go.mod文件和go.sum文件

go.mod文件是记录我们依赖库以及版本号


此时我们这个hello项目,就采用了go mod进行库依赖管理,以后编写完代码后执行go mod tidy即可,这个命令会自动下载依赖的库,也会删除多余的库

更多的使用方式可以执行go help mod进行查看

vscodelaunch.json配置以及setting.json配置

首先是launch.jsonDebug配置内容

{
    "version": "0.2.0",
    "configurations": [{
     "name": "LaunchGo",
     "type": "go",
     "request": "launch",
     "mode": "auto",
     "program": "${fileDirname}",
     "env": {
     // xxx.go脚本的路径为E:/Study_self/go_lesson/src/hello/xxx.go   
     // 修改"GOPATH": "E:/Study_self/go_lesson", 
     // 在xxx.go脚本目录下运行go mod init hello
     "GOPATH": "D:/Program Files/Go_Works", 
     "GOROOT": "D:/Program Files/Go"
     },
     "args": [],
     //"showLog": true
    }
    ]
   }

以下是setting.json的最新配置,因为我这个配置同时存在了一些别的组件,比如golangci-lint这种go语言风格包以及别的组件,所以复制到你们的vscode中时,有些配置会出现红色异常

将出现红色异常的地方直接删除或者注释即可。之所以保留给你们,是觉得你们可能有些人也会安装相关插件使用

{
 "editor.wordWrap": "on",
 // 如果useLanguageServer设为true,那么在编写代码时引入本地没有的package时,会自动下载安装
 // 就是有时候会非常卡,保存go的编码文件时偶尔会卡死。这点你们自己取舍吧
 "go.useLanguageServer": false,
 "editor.minimap.renderCharacters": false,
 "editor.minimap.enabled": false,
 "terminal.external.osxExec": "iTerm.app",
 "go.docsTool": "gogetdoc",
 "go.testFlags": ["-v","-count=1"],
 "go.buildTags": "",
 "go.buildFlags": [],
 "go.lintFlags": [],
 "go.vetFlags": [],
 "go.coverOnSave": false,
 "go.useCodeSnippetsOnFunctionSuggest": false,
 "go.formatTool": "goreturns",
 "go.gocodeAutoBuild": false,
 "go.goroot": "D:/Program Files/Go",
 "go.gopath": "D:/Program Files/Go_Works",
 "go.autocompleteUnimportedPackages": true,
 "go.formatOnSave": true,
 "window.zoomLevel": 0,
 "debug.console.fontSize": 16,
 "debug.console.lineHeight": 30,
}

致谢:https://www.jb51.net/article/186294.htm

以上是关于vscode调试Go语言(简明教程)的主要内容,如果未能解决你的问题,请参考以下文章

Golang 在mac上用VSCode开发Delve调试

CentOS VSCode调试go语言出现:exec: "gcc": executable file not found in PATH

delve基础用法及在vscode中的使用

VSCode调试go

VSCode调试go语言出现:exec: "gcc": executable file not found in %PATH%

vscode编辑器代码调试