Mac vscode配置golang开发环境

本文适用于go version go1.15.2 darwin/amd64

下载 Go

因为Mac可以使用Homebrew来安装Go,所以直接执行以下命令来安装Go:

brew install go

此时可能会卡在Updating Homebrew,可以通过切换中科大源来解决:

// 替换brew.git:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git

// 替换homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

然后就可以顺利安装了。安装完成后,可以在终端执行以下命令来测试:

go version

此时会在终端显示go版本:

image.png

Go环境变量配置

在Go 1.13之后,无需再通过设置系统环境变量的方式来修改,可以通过go env -w 命令来设置Go的环境变量。
需要设置的环境变量如下:

// 用于存放依赖包以及编译文件,比较随意,只要不和GOROOT重名即可,官方禁止这一行为
go env -w GOPATH=/Users/系统用户名/Library/go
// 设置代理后,在未翻墙的情况下,打开vscode后gopls工具的加载会很快
go env -w GOPROXY=https://goproxy.cn,direct

Vscode插件安装

在插件商店中搜索Go,并点击安装即可:

在这里插入图片描述

安装delve

Devle是一个非常棒的golang 调试工具,支持多种调试方式,直接运行调试,或者attach到一个正在运行中的golang程序,进行调试。
线上golang服务出现问题时,Devle是必不少的在线调试工具,如果使用docker,也可以把Devle打进docker镜像里,调试代码。
在命令终端terminate中执行以下安装命令,进行delve的安装。
$ go get -u github.com/go-delve/delve/cmd/dlv

设置 launch.json 配置文件

command + shift + p 调出下拉列表,输入或者选择 Debug: Open launch.json,打开 launch.json 文件,如果第一次打开,会新建一个配置文件,默认配置内容如下

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${fileDirname}",
            "env": {},
            "args": []
        }
    ]
}

可能用到的属性介绍

启动配置必须具有的属性

每个启动配置都必须具有以下属性:
type - 用于此启动配置的调试器的类型,如python,go,Java等。每安装调试扩展引入一个类型:node用于内置节点调试器,例如,或php与go对PHP和去扩展。
request - 此启动配置的请求类型。目前,launch并且attach受到支持。
name - 阅读器友好名称,显示在“调试启动配置”下拉列表中。

可选属性

以下是可用于所有启动配置的一些可选属性:

preLaunchTask- 要在调试会话开始之前启动任务,请将此属性设置为tasks.json中指定的任务的名称(在工作空间的.vscode文件夹中)。
postDebugTask- 要在调试会话的最后启动任务,请将此属性设置为tasks.json中指定的任务的名称(在工作空间的.vscode文件夹中)。
internalConsoleOptions - 此属性控制调试会话期间“调试控制台”面板的可见性。
debugServer- 仅适用于调试扩展作者:此属性允许您连接到指定的端口,而不是启动调试适配器。

常用到的一些属性

许多调试器支持以下某些属性:

 program - 启动调试器时要运行的可执行文件或文件
 args - 传递给程序进行调试的参数
 env- 环境变量(该值null可用于“取消定义”变量)
 cwd - 当前工作目录,用于查找依赖项和其他文件
 port - 连接到正在运行的进程时的端口
 stopOnEntry - 程序启动时立即中断
 console-要使用什么样的主机,例如internalConsole,integratedTerminal或externalTerminal

常见属性如下

name    调试界面下拉选择项的名称(在最上面的DEBUG和设置按钮中间)
type    设置为go无需改动,是 vs code 用于计算调试代码需要用哪个扩展
mode    可以设置为 auto, debug, remote, test, exec 中的一个
program 调试程序的路径(绝对路径)
env 调试时使用的环境变量。例如:{ "ENVNAME": "ENVVALUE" , "go.gopath":"/Users/xx/go/src/xxx/项go项目名/cmd/http/main.go"},    // 调试时使用的环境变量。例如:{ "ENVNAME": "ENVVALUE" },gopath要指向本次要调试项目的主入口,即main.go所在的绝对路径
envFile 包含环境变量文件的绝对路径,在 env 中设置的属性会覆盖 envFile 中的配置
args    传给正在调试程序命令行参数数组
showLog 布尔值,是否将调试信息输出
logOutput   配置调试输出的组件(debugger, gdbwire, lldbout, debuglineerr, rpc),使用,分隔, showLog 设置为 true 时,此项配置生效
buildFlags  构建 go 程序时传给 go 编译器的标志
remotePath  远程调试程序的绝对路径,当 mode 设置为 remote 时有效
在 debug 配置中使用 VS Code 变量
${workspaceFolder} 调试 VS Code 打开工作空间的根目录下的所有文件
${file} 调试当前文件
${fileDirname} 调试当前文件所在目录下的所有文件
使用构建标记(build tags)
如果需要使用构建标记(e.g. go build -tags=whatever_tag)在参数 buildFlags 里写入 -tags=whatever_tag" 即可,支持多标签,使用单引号将标签包围,例如: "-tags='first_tag second_tag third_tag'"

debug 配置代码片段

可以在 launch.json 文件中,使用 Go 关键词调出 debug 配置项的代码片段。

调试当前文件配置片段

{
    "name": "Launch file",
    "type": "go",
    "request": "launch",
    "mode": "auto",
    "program": "${file}"
}

调试单个测试用例配置片段

{
    "name": "Launch test function",
    "type": "go",
    "request": "launch",
    "mode": "test",
    "program": "${workspaceFolder}",
    "args": [
        "-test.run",
        "MyTestFunction"
    ]
}

调试包中所有的测试用例配置片段

{
    "name": "Launch test package",
    "type": "go",
    "request": "launch",
    "mode": "test",
    "program": "${workspaceFolder}"
}

调试构建二进制文件配置片段

{
    "name": "Launch executable",
    "type": "go",
    "request": "launch",
    "mode": "exec",
    "program": "absolute-path-to-the-executable"
}

远程调试

远程调试需要在launch.json中将模式设置为远程"mode":“remote”,并且还需要服务器上起一个无头的 Delve 服务
例如:

$ dlv debug --headless --listen=:2345 --log --api-version=2

如果需要传参数到程序中,则需要将参数传入到 Delve 服务中
例如:

dlv debug --headless --listen=:2345 --log -- -myArg=123

launch.json 配置如下:

{
    "name": "Launch remote",
    "type": "go",
    "request": "launch",
    "mode": "remote",
    "remotePath": "服务器调试文件的目录(绝对路径)",
    "port": 2345,
    "host": "127.0.0.1",
    "program": "本地调试文件所在的目录(绝对路径)",
    "env": {}
}

将上述配置中的 host 和 port 修改 成Delve 服务所在的服务器ip和其监听的端口号。
remotePath 应该配置为调试文件的绝对路径
program 需要配置本地机器文件所在的绝对路径,是 remotePath 的一个副本
配置完成后,点击调试按钮,VS Code 将会向远程的 dlv 服务发出调试指令,而不是使用本机的 dlv 实例。

调试过程

在要进行调试的自定义函数或者自定义变量处,设置断点,断点的数目可以设置多个(注意,不要在开源的包中实现的方法处打断点,要不然调用栈会一直深入到开源实现的底层函数/变量处)。然后 Fn + F10(step over)进行单步调试(单步调试会跳过本次不执行的分支),左边栏中的VARIABLES变量中可以看到各个变量值的变化。如果想要进入到当前调试行中的函数里面,可以使用Fn + F11(step into)调入函数,不再想要执行函数内的语句,则可以 Fn + Shift+F11 (Step out ) 直接跳出当前函数,跳到上一次进入处的下一条语句。

注意:尽管在launch.json中定义了主函数main.go的绝对路径,但是在调试时,仍然想要先打开main.go程序,然后在启动调试Fn + F5后,跳转到要调试的程序处,接着可以选择单步调试Fn + F10或者进入函数Fn + F11,跳出函数Fn + shift + F11。通常,如果断点处又调用了其他自定义的函数,可以在分别在这个调用函数处和函数定义内部的其他函数调用/变量处打上多个断点,接着进行调试。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在VSCode配置Golang开发环境需要安装Go语言和VSCode的Go插件。 1. 首先,请确保您已经安装了Go语言。如果没有,请在官网上下载并安装。 2. 打开VSCode,点击“扩展”图标,或者使用快捷键“Ctrl + Shift + X”打开扩展程序。 3. 在搜索栏中输入“Go”,然后点击“Go for Visual Studio Code”这个插件。 4. 点击“安装”安装这个插件。 5. 安装完成后,重启VSCode。 6. 在VSCode中新建一个文件夹来存放你的Go项目,在文件夹中新建main.go文件 7. 在VSCode的终端中执行 go mod init xxx(xxx是你的项目名称) 8. 现在你就可以在VSCode中编写和运行Go代码了。 ### 回答2: VSCode是一种非常流行的代码编辑器,而GO是一种非常受欢迎的编程语言。因此,对于想要在VSCode上进行Go开发的开发人员来说,了解如何在VSCode配置Go开发环境非常重要。 以下是在VSCode配置GO开发环境的步骤: 1. 安装Go环境 首先,你需要在你的计算机上安装Go环境。你可以访问Go的官方网站,然后下载并安装最新版本的Go。一旦你安装了Go,你就可以在终端中运行Go命令来验证它是否正确安装和配置。 2. 安装VSCode 第二步是安装VSCode编辑器。你可以从微软的官方网站上下载和安装最新版本VSCode。安装完成后,你可以在你的计算机上启动VSCode。 3. 下载并安装Go扩展 在你的VSCode编辑器中,你需要下载并安装Go的扩展。你可以在编辑器的扩展菜单中找到Go扩展程序。当你找到它后,你可以通过点击扩展程序旁边的“安装”按钮将其安装到你的编辑器中。 4. 配置GOPATH 在VSCode编辑器中运行时,Go语言需要知道GOPATH(Go工作区)的位置。因此,在你开始使用VSCode进行Go开发之前,你需要首先配置GOPATH。你可以在你的操作系统的终端中设置GOPATH。例如对于Mac OS或Linux,你可以通过打开终端并键入以下命令来设置GOPATH: export GOPATH=/your/path/to/go/work 5. 创建Go项目 现在,你已经安装并配置好了VSCode编辑器和Go扩展,并设置了GOPATH。下一步是创建一个新的Go项目。你可以通过在终端中使用以下命令来创建项目: mkdir /your/path/to/project cd /your/path/to/project go mod init project_name 6. 编写代码 一旦你已创建了Go项目,你就可以在VSCode编辑器中编写你的Go代码。你可以使用编辑器中的代码提示工具来帮助你识别代码错误,并快速编写代码。 7. 运行代码 最后一步是运行你的代码。你可以在终端中使用以下命令来运行你的Go程序: go run main.go 总之,以上是在VSCode编辑器中配置Go开发环境的步骤。事实上,这只是一个简单的一个流程,而具体的步骤还会因为开发者不同而不同。然而,对于想要在VSCode上进行Go开发的开发人员来说,这些基本的步骤以及Go语言和VSCode编辑器本身的使用也是十分重要的。 ### 回答3: Visual Studio Code(简称 VS Code)是一款轻量级的代码编辑器,适用于不同的语言和操作系统,同时拥有丰富的扩展插件和特性。因此,VS Code也是一种非常适合 Golang 开发的 IDE。在这篇文章中,我们将介绍如何使用 VS Code 配置 Golang 开发环境。 第一步:安装 Golang 要使用 Golang 进行开发,你首先需要安装 Golang 的官方版本。你可以访问官方网站下载并按照相应步骤安装。 第二步:安装 VS Code 你可以访问 VS Code 的官方网站下载并按照相应步骤安装。 第三步:安装 Go 扩展 在 VS Code 中,你需要安装相应的扩展来支持 Golang 开发。请按如下步骤操作: 1. 打开 VS Code。 2. 点击左侧面板中的扩展标志。 3. 搜索 “Go” 并安装相应扩展。 4. 安装完成后,你需要重新启动 VS Code 才能生效。 第四步:配置 Go 环境变量 在 VS Code 中进行 Golang 开发之前,你需要配置相应的环境变量。请按照如下步骤进行操作: 1. 打开终端(Mac/Linux)或命令行提示符(Windows)。 2. 输入命令:$ echo $GOPATH。 3. 如果输出为空,那么你需要手动设置 GOPATH。 4. 在终端中输入如下命令(Go 官方推荐): export GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin 5. 保存并关闭终端或命令行提示符。 第五步:创建 Go 项目 你现在可以开始创建自己的 Golang 项目: 1. 打开 VS Code。 2. 点击菜单栏的文件 -> 新建文件夹。 3. 输入一个名称来创建一个新的文件夹,例如 “go_app”。 4. 点击菜单栏的 文件 -> 打开文件夹 并选择“go_app”。 5. 在“go_app”文件夹中创建一个新的文件,例如 “main.go”。 6. 在“main.go”中输入以下代码: package main import "fmt" func main() { fmt.Println("Hello, World!") } 7. 点击菜单栏的“终端” -> “新终端”以打开一个新的终端。 8. 在终端中,输入以下命令以编译并运行你的程序: $ go build $ ./main 9. 你将看到输出“Hello, World!”。 总结 在本文中,我们介绍了如何使用 Visual Studio Code 配置 Golang 开发环境。其中,包括了安装 Golang 和 VS Code,安装 Golang 扩展,配置 Go 环境变量和创建 Go 项目。现在你可以使用 VS Code 进行 Golang 开发了!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值