Vscode Remote Golang开发环境打造

August 31, 2022

通过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

远程环境

按照如下的流程配置开发环境;

  1. 本地Vscode安装扩展插件:在Vscode的扩展中搜索ssh插件,选择安装Remote - SSH这个插件。

  2. 创建ssh密钥:

# 执行如下的命令,就会在~/.ssh目录下生成 id_rsa_goland_developer_com、id_rsa_goland_developer_com.pub 两个文件
$ ssh-keygen -f id_rsa_goland_developer_com
  1. Remote Linux上配置本地公钥,实现免密登录
# 把本地id_rsa_goland_developer_com.pub文件上传到远程机器上,并写入到 ~/.ssh/authorized_keys 文件中,也可以直接复制通过vim编辑写入
$ cat id_rsa_goland_developer_com.pub > ~/.ssh/authorized_keys
  1. 点击remote sshConfigure,选择第一个配置文件;

image-20220507210602712

  1. 添加远程主机配置:
Host GoDev
    User {user}
    HostName {ip}
    IdentityFile ~/.ssh/id_rsa_goland_developer_com
  • GoDev:远程主机的标示名称,可以随意取,方便识别就可以。
  • {user}:远程主机的用户,最好不要使用root,可以通过useradd命令新添加一个用户。
  • {ip}:远程主机的地址。
  • IdentityFile:用于远程登录的秘钥
  1. 使用 VS CODE 连接远程开发机器
  • 连接远程主机

image-20220507211751447.png

  • 连接成功后可以选择打开的工作目录

image-20220507212224603.png

这样远程环境就配置好了,下面就开始配置开发环境。

开发环境

如果这是一个新的Linue环境,所以我上面没有go环境这些,需要新进行安装go环境。

Go环境安装

  1. Go download.
$ wget -c https://dl.google.com/go/go1.19.linux-amd64.tar.gz
  1. 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
  1. 设置 go env
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn

Vscode Go环境配置

  1. 在打开远程连接的Vscode中安装go插件

image-20220507212648391

  1. 安装其他Go插件

按快捷键ctrl+shift+p ,选择go install/update tools(安装所有相关包)。

image-20220507212945157

  1. 选择全部进行安装

最新版的Tools只有7个了,网上有些文章里面看着有10几个,那是很久之前的版本,在新版本中做了很多整合,比如:golint和goimports都整合到staticcheck中了。

image-20220507213258802

  1. 安装 Code Run 插件

搜索关键词code,安装Code Runner插件,这样就可以使用快捷键Ctrl+Alt+N运行代码了。

其他设置

因为使用的笔记本做为远程环境,所以为了避免屏幕一直亮着,可以配置让屏幕关闭显示。

# 在如下文件中加入或者修改如下两个变量值
$ sudo vim /etc/systemd/logind.conf
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore

# 之后重启就可以了
$ sudo service systemd-logind restart

未来

目前暂时使用笔记本,但是笔记本受限于内存大小、磁盘大小、CPU 性能,并且没有GPU,未来主要朝着家庭低功耗服务器去演进。


LRF 记录学习、生活的点滴