VS Code 远程开发配置

 

VS Code 远程开发配置

Table of Contents generated with DocToc

先说一下使用背景:

公司的项目需要在本地 Ubuntu 上进行开发, 然后调试测试通过之后通过 PR merge 到 main branch. 然后 SSH 到 AWS EC2 上在进行调试, 测试. 尽管公司发的 Macbook Pro 内存已经足够用了, 但是直接在 Ubuntu 截面写代码是在是浪费了 Mac 的操作流畅性. 于是乎做了一番功课, 终于可以愉快地在 Mac 上直接写代码了.

需要的软件/工具

  • VS Code + Remote-SSH
  • Virtual Box + Ubuntu

1. 配置 VS Code

安装如图所示的插件, 然后在 VS Code 左下角就会有一个类似 >< (不是卖萌) 的图标, 点击它就会询问是否连接到 VM

2. 配置 Virtual Box Ubuntu 虚拟机

以下步骤没有来得及截图, 所以我会尽量详细说明

2.1 SSH 连接到 Ubuntu

On Mac

在 Mac 上 (或者其他的 Host machine), 关闭你的 VM, 然后在 VB 主界面左侧, 可以看到有一个图标 (三个点, 三条横线), 点击它, 然后选择 Network, 然后点击 Create New Network

create vboxnet0, IPv4 Address/Mask = 192.168.xxx.xxx, check DHCP Server

点击 Ubuntu 系统的 settings, 设置

Settings -> System -> Check "Enable I/O APIC"
Settings -> Network -> Adapter 2 -> host-only vboxnet0

On Ubuntu

安装 openssh server 如果没有的话

# install
sudo apt install openssh-server

# start service
sudo service ssh restart

# check status of service
sudo service ssh status

/etc/network/interfaces 中追加如下几行

auto enp0s8
iface enp0s8 inet static
address 192.168.xxx.xxx
netmask 255.255.255.0

然后在 Terminal 中输入 sudo ifup enp0s8

到此为止, 你已经可以通过

mac$ ssh <username>@192.168.xxx.xxx

登入你的 local ubuntu 了

2.2 配置 SSH, 简化登录过程

更改 Hostname

每次登录都要输入 ip 就很麻烦.

将如下内容粘贴到 Mac 下 ~/<username>/.ssh/config 文件下

Host vm
  HostName 192.168.xxx.xxx
  User <username>

免密登录

在你的 Mac 的 Terminal 下生成 SSH key

$ ssh-keygen -t rsa

生成的文件会在 $HOME/.ssh/id_rsa.pub. 如果有这个文件那么不用在生成一次了. 复制 id_rsa.pub 文件的内容. 将它粘贴到 Ubuntu 系统中 $HOME/.ssh/authorized_keys 文件中

重新使用 VS Code 连接 Ubuntu, 你会发现不在弹出密码输入页面了.