在Golang项目开发中,经常会遇到需要在远程服务器上运行项目的情况,比如远程服务器有特定的依赖环境、更高的配置或者需要访问内网资源。使用VS Code的远程开发功能,可以让你在本地电脑上编写代码,同时直接操作远程服务器完成编译、运行和调试,体验和本地开发几乎一致。

环境准备
在开始配置之前,需要准备好以下环境:
- 本地电脑安装VS Code,版本建议为1.70及以上
- 远程服务器安装Linux系统,比如Ubuntu 20.04、CentOS 7等,并且已经配置好SSH服务,能够正常通过SSH连接
- 远程服务器已经安装Golang环境,如果没有安装可以按照后续步骤操作
安装VS Code远程开发插件
首先在本地VS Code中安装Remote - SSH插件,这是实现远程开发的核心插件。打开VS Code的扩展面板,搜索Remote - SSH,点击安装即可。安装完成后,VS Code左侧会出现远程资源管理器图标。
配置远程SSH连接
点击左侧远程资源管理器图标,选择SSH类型,然后点击配置按钮,选择本地的SSH配置文件,一般路径为~/.ssh/config。在配置文件中添加远程服务器的连接信息:
Host golang-remote-server
HostName 192.168.0.1
User root
Port 22
其中Host是自定义的连接名称,HostName是远程服务器的IP地址,User是登录远程服务器的用户名,Port是SSH服务的端口,默认是22。配置完成后保存文件,在远程资源管理器中就能看到刚才添加的连接,点击旁边的连接按钮,选择当前系统对应的平台,输入SSH登录密码即可连接到远程服务器。
远程服务器安装Golang环境
如果远程服务器还没有安装Golang,可以通过以下命令安装。首先下载对应版本的Golang安装包,这里以Go 1.21版本为例:
# 下载安装包 wget https://dl.ipipp.com/go/go1.21.0.linux-amd64.tar.gz # 解压到/usr/local目录 sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
然后配置环境变量,编辑~/.bashrc文件,添加以下内容:
export PATH=$PATH:/usr/local/go/bin export GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin
保存后执行source ~/.bashrc让配置生效,然后执行go version命令,如果输出Go的版本信息,说明安装成功。
安装VS Code Go插件
连接到远程服务器后,在VS Code的扩展面板中搜索Go插件,选择安装在远程服务器上。安装完成后,VS Code会自动提示安装Go的相关工具,点击安装全部即可,这些工具包括代码补全、跳转定义、格式化等功能需要的依赖。
创建并运行Golang项目
在远程服务器的目录下创建一个新的Golang项目,比如创建hello目录,然后在VS Code中打开这个目录。新建main.go文件,编写测试代码:
package main
import "fmt"
func main() {
fmt.Println("Hello, remote Golang development")
}
打开VS Code的终端,此时终端已经连接到远程服务器的对应目录,执行以下命令运行代码:
go run main.go
终端会输出Hello, remote Golang development,说明代码运行成功。
远程调试Golang项目
VS Code支持远程调试Golang项目,首先需要安装delve调试工具,在远程终端执行以下命令:
go install github.com/go-delve/delve/cmd/dlv@latest
然后在VS Code中打开调试面板,点击创建launch.json文件,选择Go环境,生成的配置如下:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Remote Go Program",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}",
"env": {},
"args": []
}
]
}
在代码中设置断点,点击调试按钮,程序会在断点处暂停,你可以查看变量值、单步执行,调试体验和本地开发完全一致。
常见问题处理
SSH连接失败
检查远程服务器的SSH服务是否正常运行,防火墙是否开放了SSH端口,配置的IP地址、用户名、端口是否正确,也可以尝试使用ssh命令在本地终端直接连接远程服务器,排查连接问题。
Go工具安装失败
如果Go相关工具安装失败,可能是网络问题,可以配置Go的代理,在远程终端执行以下命令:
go env -w GOPROXY=https://goproxy.cn,direct
然后重新在VS Code中安装Go工具即可。