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/[email protected]
go install golang.org/x/tools/[email protected]

这两个工具一个提供跳转支持,一个提供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/[email protected]

resty

go get github.com/go-resty/resty/[email protected]

go-rod

go get github.com/go-rod/[email protected]

go 配置国内代理

bash 复制代码
# -w 作用是覆盖默认的设置
go env -w GOPROXY='https://goproxy.cn,direct'
相关推荐
Morpheon5 小时前
Cursor 1.0 版本 GitHub MCP 全面指南:从安装到工作流增强
ide·github·cursor·mcp
roman_日积跬步-终至千里6 小时前
【Go语言基础【14】】defer与异常处理(panic、recover)
golang
猿小猴子6 小时前
主流 AI IDE 之一的 Cursor 介绍
ide·人工智能·cursor
孔令飞7 小时前
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
ai·云原生·容器·golang·kubernetes
我命由我1234511 小时前
VSCode - VSCode 放大与缩小代码
前端·ide·windows·vscode·前端框架·编辑器·软件工具
我的golang之路果然有问题12 小时前
云服务器部署Gin+gorm 项目 demo
运维·服务器·后端·学习·golang·gin
孔令飞13 小时前
Go 为何天生适合云原生?
ai·云原生·容器·golang·kubernetes
old_power13 小时前
VSCode 工作区配置文件通用模板创建脚本
ide·vscode·编辑器
Lw老王要学习14 小时前
VScode 使用 git 提交数据到指定库的完整指南
windows·git·vscode
vortex515 小时前
在 Kali 上打造渗透测试专用的 VSCode 环境
ide·vscode·编辑器