直到 VSCode remote-ssh 外掛出來和我買了一臺 NUC 機器之前,我一直在維護兩套開發環境,
一套防在公司的 CentOS 虛擬機器上,另一套則是家裡的 Windows 機器。因為程式碼同步以及 Windows
和 Linux 系統差異等問題,維護兩套環境非常麻煩。但是現在通過 VSCode remote-ssh +
VPN 的方式就可以在 Windows 上使用 NUC 機器進行開發。
配置遠端機器
這個方案也適用於虛擬機器作為遠端機器,只要它能夠通過 SSH 遠端訪問即可。這裡我使用 mosh 作為
openssh 替代方案,因為我在 windows 上使用的 FluentTerminal
對 mosh 有更好的支援。這是我在 Windows 上最滿意的終端,顏值不錯,速度比 Hyper 要快,而且支援
iterm 顏色方案匯入
遠端機器上可以通過下面的方式安裝 mosh-server
# CentOS
# 需要安裝 epel-release
sudo yum -y install epel-release
sudo yum update
sudo yum -y install mosh
# Ubuntu 或 deepin
sudo apt -y install mosh
# 啟動 mosh-server
mosh-server
在遠端機器上我習慣用 oh-my-zsh,可是遠端連線上去的時候 PATH
環境變數與直接登入時有差異
導致遠端連線時 cargo
procs
等命令無法使用。簡單粗暴的解決辦法時將直接登入時的 PATH
寫入 ~/.zshrc
檔案
# ~/.zshrc
PATH=$PATH:/home/rookie/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/home/rookie/bin:/bin
配置本地機器
建議在將本地機器上的 id_rsa.pub
檔案內容複製到 ~/.ssh/authorized_keys
中,這樣可以
避免每次連線時都需要輸入密碼。
接著配置 ssh config 檔案示例配置如下
# ~/.ssh/config
Host NUC
HostName 172.16.130.38
User rookie
IdentityFile ~/.ssh/id_rsa
接著在本地的 VSCode 下載 vscode-remote 外掛,雖然還處於 preview 階段,但正式版 VSCode
現在也可以直接安裝了。
安裝完成後應該會在左下角有個連線圖示
點選然後選擇 remote-SSH: Connection to remote host,然後在 Host 列表選擇之前配置好的
NUC,等待連線完成。
連線完成後 VSCode 會開啟一個新視窗,視窗左下角的遠端連線圖示顯示當前視窗已連線到 NUC
選擇開啟檔案開啟遠端機器上的一個資料夾即可開始在遠端機器編輯程式碼
值得一提的是在這個視窗開啟的命令列也是在遠端機器上的,不需要開啟後再手動登入 :+1: 。
不過需要注意的是遠端的 VSCode 不會同步本地外掛,需要再次安裝,安裝後的外掛右下角也會帶遠端連線
的圖示