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'
相关推荐
技道两进42 分钟前
trae+Skills初步实践
ide·trae·skills·skills实践
普通网友3 小时前
远程配置 VsCode:Github Copilot 安装成功却无法使用?细节避坑
vscode·github·copilot
lucky九年3 小时前
Treasure vscode插件
ide·vscode·编辑器
源代码•宸5 小时前
Leetcode—404. 左叶子之和【简单】
经验分享·后端·算法·leetcode·职场和发展·golang·dfs
Grassto8 小时前
10 Go 是如何下载第三方包的?GOPROXY 与源码解析
后端·golang·go·go module
源代码•宸8 小时前
Leetcode—513. 找树左下角的值【中等】
经验分享·算法·leetcode·面试·职场和发展·golang·dfs
bing.shao8 小时前
文心大模型 5.0 正式版上线:用 Golang 解锁全模态 AI 工业化落地新路径
人工智能·golang·dubbo
lanbing9 小时前
在Mac OS系统中安装Go语言环境教程
开发语言·后端·golang
无心水10 小时前
17、Go协程通关秘籍:主协程等待+多协程顺序执行实战解析
开发语言·前端·后端·算法·golang·go·2025博客之星评选投票
007php00710 小时前
mac笔记本中在PHP中调用Java JAR包的指南
java·ide·python·面试·职场和发展·pycharm·php