vscode 搭建 golang 开发环境

介绍

在 vscode 搭建 go 的开发环境需要区分两个方向:

  • go 1.19.0 及其更高版本
  • go 1.19.0 之前的版本

为什么这么分,因为 vscode-go 插件自带的工具安装脚本全部都是装最新版的各类工具,这些工具中有部分要求 go 1.19.0 以上才能安装成功。

但是我们知道这些工具不是一夜之间冒出来的,他们也是有旧版本的。所以想让 vscode 用这些旧版本的工具来构建开发环境,我们就要手动指定各种旧版本来处理。

好了进入正题:

准备工作,安装 golang

首先在 https://go.dev/dl/ 里面下载 go 1.19 或者更高版本,windows 系统直接下载 msi 安装最省事。

linux 的下载对应的源码包,按照官方的两步走就能安装成功

  1. 移除旧版和解压新版
bash 复制代码
$ rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
  1. 设置环境变量
bash 复制代码
export PATH=$PATH:/usr/local/go/bin
  1. 无论什么系统,安装完后执行 go version,能显示版本就是安装成功
bash 复制代码
go version
# go version go1.17.13 windows/amd64

go 1.19 及更高版本

首先 vscode 安装 go 的插件

https://marketplace.visualstudio.com/items?itemName=golang.go

装完后在 vscode 按下 ctrl+p, 会有个输入框,先输入 >,就可以选择各种命令,选择 Go: Install/Update Tools 这个指令,就会跳一个工具列表,可以全选然后下载就行。

网络环境没问题时,这些工具装完,vscode 就能对 go 进行完整的语法支持了。

go 1.19 以下的版本

这里以 go 1.17 做例子

这里需要安装下面两个指定版本的工具:

bash 复制代码
go install github.com/go-delve/delve/cmd/dlv@v1.7.3
go install golang.org/x/tools/gopls@v0.11.0

这两个工具一个提供跳转支持,一个提供debug支持,其他的工具需要自己去找出对应的低版本进行安装。但是装完这两个就可以进行开发了。

配置调试文件

在工作目录下创建 .vscode , 在里面创建 launch.json ,写入以下内容,就可以对当文件进行断点调试

.vscode/launch.json

json 复制代码
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Package",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${fileDirname}"
        }
    ]
}

依赖降级方法

如果项目是用 1.19 以上创建的,现在需要迁移到 1.17,那么就要对依赖的库进行降级。

如果有依赖包降级需要,到这个依赖包的 github 页面,进入 release 页面,里面有这个包

每次发布的版本 tag 和时间,选择 2021-12-3 以前发布的版本就能适配 golang 1.17

golang 1.17 是在 2021-8-16 发布的

下面是几个常用工具库的版本举例:

viper

go get github.com/spf13/viper@v1.10.1

resty

go get github.com/go-resty/resty/v2@v2.7.0

go-rod

go get github.com/go-rod/rod@v0.101.0

go 配置国内代理

bash 复制代码
# -w 作用是覆盖默认的设置
go env -w GOPROXY='https://goproxy.cn,direct'
相关推荐
baidu_1720125316 小时前
在Visual Studio中安装通义灵码
ide·visual studio
foxsen_xia18 小时前
Go安装、配置和vsCode配置Go
开发语言·vscode·golang
黎相思20 小时前
环境搭建
ide
晨同学032720 小时前
【亲测可行】windows安装visual studio & opencv4.10.0
ide·windows·visual studio
稚辉君.MCA_P8_Java20 小时前
Gemini永久会员 go数组中最大异或值
数据结构·后端·算法·golang·哈希算法
PWRJOY20 小时前
Android Studio中安卓模拟器打不开,报错The emulator process for AVD has terminated
android·ide·android studio
想搞艺术的程序员21 小时前
Go 语言 interface 详解:从源码到实践
golang·interface
foxsen_xia1 天前
go(基础01)——协程
开发语言·算法·golang
源代码•宸1 天前
GoLang并发简单例子(goroutine + channel + WaitGroup)
开发语言·经验分享·后端·学习·golang