远程开发Go代码需通过VS Code Remote-SSH连接服务器,在远程完整安装Go及gopls、dlv等工具,所有编译调试均在远程执行,环境变量和模块配置也须在远程设置。
直接在远程服务器上写 Go 代码,比本地编译再上传快得多,尤其适合调试云服务、容器环境或资源受限的机器。关键是让 VS Code(或其他编辑器)连上远程主机,同时保持 Go 工具链(go build、gopls、dlv 等)在远端正常工作。
这是最轻量、最稳定的方案,不需要额外部署 IDE 服务端。
ssh user@host 正常登录Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Remote-SSH: Connect to Host...,添加你的服务器地址~/.vscode-server 下部署 VS Code 后端,后续打开即用本地装 Go 没用——gopls、go test、delve 都得运行在代码所在机器上。
/usr/local/go

/usr/local/go/bin 加入 $PATH(写入 ~/.bashrc 或 ~/.zshrc,然后 source)go version 和 go env GOROOT GOPATH 必须返回有效路径$GOPATH/bin
别用本地终端跑 go run,也别让 dlv 绑定 localhost ——所有操作需在远程终端或远程调试配置中完成。
main.go → Debug,它会自动生成 .vscode/launch.json,默认使用 dlv exec 方式,完全走远程进程dlv 已监听(如 dlv --headless --listen :2345 --api-version 2 exec ./myapp),然后在 launch.json 中配 "mode": "attach" 和对应端口
GOOS、GIN_MODE)统一在 launch.json 的 env 字段里设,不依赖本地 shell避免 go mod 报错或依赖拉取失败,建议统一规范 GOPATH 和代理设置。
go env -w GOPATH=$HOME/go(避免权限问题,不推荐用 /root/go)go env -w GOPROXY=https://goproxy.cn,direct
go mod init),避免 GOPATH/src 老模式;VS Code 的 gopls 对 modules 支持最好gcc、pkg-config 等构建工具基本上就这些。不复杂但容易忽略的是:所有 Go 相关路径、工具、环境变量,都得在远程生效;VS Code 只是“显示器+键盘”,真正的编译器和调试器永远在你 ssh 连着的那台机器上。