Vscode Remote Golang开发环境打造
· 6 min read
通过Vscode
打造远程开发环境,可以加快工作效率.
背景
我之前的开发环境一直都是使用 Mac + Goland
,但是最近在编译一个程序的时候发现编译不通过,经过排查发现是 Mac
上的 Make
语法出现了不兼容,于是想到了打造一套 Remote Linux + Vscode
的开发环境。
刚好有一个大学时候的笔记本,重装为了 Ubuntu
系统,就用这个电脑来打造就可以,远程开发环境和本地开发环境相比,有利有弊;
对比 | 本地环境 | 远程环境 |
---|---|---|
优点 | 1.程序启动快,环境加载快。 2.不会受限于网络环境和地域环境。 | 1. 可以使用较多资源,如内存、CPU、磁盘等。 2. 减少对Mac环境的影响,使用Linux开发环境。 |
缺点 | 1. 和本地系统绑定,有些软件在Mac下不能很好的执行和编辑 2. 内存、资源这些都受限 | 1. 这个原创环境只能在家里私有化网络环境下使用 2.因为操作都是网络传输,所以初始化的时候比较慢。`` |
基本环境
- 有一个远程的
Linux
环境,可以是Ubuntu
,也可以是Centos
,并打开远程连接ssh 22
端口。 - 本地机器安装
Vscode
。
远程环境
按照如下的流程配置开发环境;
-
本地Vscode安装扩展插件:在
Vscode
的扩展中搜索ssh
插件,选择安装Remote - SSH
这个插件。 -
创建
ssh
密钥:
# 执行如下的命令,就会在~/.ssh目录下生成 id_rsa_goland_developer_com、id_rsa_goland_developer_com.pub 两个文件
$ ssh-keygen -f id_rsa_goland_developer_com
- 在
Remote Linux
上配置本地公钥,实现免密登录
# 把本地id_rsa_goland_developer_com.pub文件上传到远程机器上,并写入到 ~/.ssh/authorized_keys 文件中,也可以直接复制通过vim编辑写入
$ cat id_rsa_goland_developer_com.pub > ~/.ssh/authorized_keys
-
点击
remote ssh
的Configure
,选择第一个配置文件; -
添加远程主机配置:
Host GoDev
User {user}
HostName {ip}
IdentityFile ~/.ssh/id_rsa_goland_developer_com
GoDev
:远程主机的标示名称,可以随意取,方便识别就可以。{user}
:远程主机的用户,最好不要使用root
,可以通过useradd
命令新添加一个用户。{ip}
:远程主机的地址。IdentityFile
:用于远程登录的秘钥
- 使用
VS CODE
连接远程开发机器
-
连接远程主机
-
连接成功后可以选择打开的工作目录
这样远程环境就配置好了,下面就开始配置开发环境。
开发环境
如果这是一个新的Linue
环境,所以我上面没有go
环境这些,需要新进行安装go
环境。
Go环境安装
Go
源码包下载地址:https://go.dev/doc/install
- Go download.
$ wget -c https://dl.google.com/go/go1.19.linux-amd64.tar.gz
- Go install.
$ sudo tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz
$ vim /etc/profile
export PATH=$PATH:/usr/local/go/bin
$ source /etc/profile
- 设置 go env
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn
Vscode Go环境配置
-
在打开远程连接的
Vscode
中安装go
插件 -
安装其他Go插件
按快捷键ctrl+shift+p ,选择go install/update tools(安装所有相关包)。
- 选择全部进行安装
最新版的Tools只有7个了,网上有些文章里面看着有10几个,那是很久之前的版本,在新版本中做了很多整合,比如:golint和goimports都整合到staticcheck中了。
- 安装
Code Run
插件
搜索关键词code,安装Code Runner插件,这样就可以使用快捷键Ctrl+Alt+N运行代码了。