vscode遠端編程 終極方案

寫在最前面(爲了過審覈):本文所提技術不需要訪問任何國外的VPN,VPN不等同於翻牆,本文中提到的VPN指的是校園網

       

       很多時候,我們會需要通過筆記本連服務器進行代碼調試,但如果要從校外或是公司外連機房,有時會需要經過多次網絡跳轉,例如:你的PC -> 學校VPN -> 機房某網段跳板機 -> 遠端目標機。在這種情況下,最簡單的方法是用vim等終端工具進行編程,但現在的編程工具發展的如此迅速,尤其是vscode這類自定義程度很高的工具的出現,讓我決定花一些時間思考如何讓remote編程變得更愉快。經過幾小時的試驗,最終得到了一個我比較喜歡的方案,與大家分享。

       首先展示一下最終效果:

遠端服務器上的vscode的編程體驗與local模式幾乎一致,有個缺點是無法通過EXTENSIONS市場來一鍵安裝插件(替代方案是利用VSIX,參考鏈接)。

需要用到的工具

  1. Windows系統的電腦,無論配置多低都ok,平板也ok,只要能運行MobaXterm就行,作爲本地設備;
  2. MobaXterm,作爲隧道工具(就是因爲這個軟件只支持windows系統所以才限定了OS,當然還有其他的tunnel方案可以繞開OS的限制,但比較繁瑣,在這裏就不鋪開介紹了);
  3. Code-server,開源軟件,遠端部署,直接下載到遠端目標機上,codeserver的下載鏈接。一般來說,如果遠端是Intel的芯片,就選擇下載amd64版本的tar.gz。
  4. Tmux工具,在遠端用yum(centos)或者apt-get(ubuntu)安裝一下就行,主要是爲了便於後臺運行和管理。
  5. 瀏覽器,PC上一般都有。

 

具體步驟

  1. 遠端目標機部署code-server。
    1. 解壓codeserver;
      tar -zxvf ./code-server-3.8.0-linux-amd64.tar.gz

       

    2. 把code-server的bin路徑添加到~/.bashrcPATH中,方便以後一鍵啓動;
    3. 先運行一下bin裏面的code-server,然後ctrl+C退出程序,此時會在你的用戶目錄裏生成一個配置文件,路徑是~/.config/code-server/config.yaml
    4. 配置config.yaml文件,修改bind-addr目標機IP:你想要的codeserver端口(要用實際的IP,別用localhost或者127.0.0.1),修改password成便於記憶的,用於後面登錄驗證;
    5. 在遠端運行tmux,進入後運行code-server(如果沒有添加到PATH裏的話,就在對應bin目錄下運行),成功的話會看到下方紅框內的IP和端口已經變成了你設置的值;
    6. Detach tmux (ctrl+b d),退到外面來,接下來就沒遠端服務器什麼事了。
  2. 在本地開啓校園網VPN,連進校園網。我校用的是anyconnect,直接照常連上就行。
  3. 在MobaXterm上設置Tunnel,配置如下,端口號a可以自定義: ->  ->
  4. 打開瀏覽器,輸入127.0.0.1:端口號a,如果成功的話會讓你輸入一開始設置的密碼。
  5. 開始你的遠端編程吧~ 只要有瀏覽器就行!

 

使用Tips

  1. 保持MobaXterm運行,tunneling別關別斷;
  2. 如果server崩了,可以用MobaXterm以SSH的方式登錄遠端,attach上Tmux,重啓一下code-server。
  3. 寫代碼時隨手保存,避免網絡問題導致代碼丟失。

參考鏈接

https://zhuanlan.zhihu.com/p/62570740

https://github.com/cdr/code-server/releases

https://github.com/cdr/code-server/blob/v3.8.0/doc/install.md

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章