现代Go开发默认启用Go Modules并弃用GOPATH,VS Code通过gopls基于go.mod工作;GOPATH仅用于存放go install生成的可执行文件及极老项目源码。

在 VS Code 中进行 Go 开发,关键不是“选 GOPATH 还是 Go Modules”,而是默认启用 Go Modules,并彻底避免依赖 GOPATH(除非维护极老项目)。Go 1.16+ 已默认开启 GO111MODULE=on,VS Code 的 Go 扩展(由 golang.org/x/tools/gopls 驱动)也完全基于模块模式工作。
运行以下命令检查当前模块模式状态:
go env GO111MODULE —— 应输出 on
go env GOPROXY —— 建议设为 https://proxy.golang.org,direct 或国内镜像(如 https://goproxy.cn),避免下载失败auto 或 off,执行:go env -w GO111MODULE=on
无需手动设置 GOPATH;VS Code 会自动识别项目根目录下的 go.mod 文件,并以此为模块边界:
go.mod 的文件夹(不是 GOPATH/src 下的子路径),gopls 就能正确加载依赖和符号.vscode/settings.json 中没有覆盖 "go.gopath" 或禁用模块的配置{<br> "go.formatTool": "gofumpt",<br> "go.lintTool": "golangci-lint",<br> "go.useLanguageServer": true<br>}它仍存在,但角色已退化为:
– 存放 go install 编译生成的可执行文件(如 gopls、dlv)的 bin/ 目录
– 极少数未迁移到模块的老项目(go build 无 go.mod 时)的源码存放位置(不推荐)
– 你不需要把它加入 PATH 来运行 go 命令,但需确保 $GOPATH/bin 在 PATH 中,以便 VS Code 调用工具
go mod init your-module-name,再重载窗口go.mod 是否完整,运行 go mod tidy,然后按 Ctrl+Shift+P → “Go: Restart Language Server”基本上就这些。现代 Go 开发里,go mod 是事实标准,GOPATH 只是后台的“工具箱抽屉”,不用管它怎么放,只要 bin 里的工具能被找到就行。
立即学习“go语言免费学习笔记(深入)”;
以上就是用VS Code进行Go语言开发:GOPATH与Go Modules配置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号