快轉到主要內容

利用VSCode網頁版遠端開發,Linux安裝code-server教學

· 民國114年乙巳年
· ·
分類   Linux系統 Self-hosting自架
標籤   Visual Studio Code Linux
目錄

Running VSCode in your web browser!

架設網頁版的VSCode,隨時隨地從任何裝置編輯程式碼。

1. VSCode與code-server差別
#

這裡Ivon安裝的是Coder Technolgies開發的code-server,並非Microsoft官方提供的Visual Studio Code Server服務,亦不是Visual Studio Code Remote - SSH延伸模組。

Visual Studio Code (簡稱VSCode) 本身是用Electron寫成的桌面程式,不方便遠端使用。

code-server這個專案能讓Visual Studio Code在瀏覽器裡面執行。這樣我們就可以用瀏覽器存取遠端,並直接編輯Linux電腦上的程式碼啦!換句話說,客戶端電腦不需要安裝VSCode,也能用網頁版code-server寫程式,所有運算都是在遠端電腦完成。

客戶端的瀏覽器可以是Chromium、Firefox、Safari,code-server應該都支援。

這有點類似遠端桌面,但這裡code-server是作為Web APP執行。即使遠端是headless的Linux伺服器環境,依然能夠跑code-server。

code-server操作跟原版Visual Studio Code差不多,但code-server不能登入Github帳號同步延伸模組,也不見得相容所有的延伸模組,請謹慎測試。

如果你需要存取完整的Visual Studio Code功能,客戶端又不能安裝Visual Studio Code的話,那麼還是用遠端桌面吧。

2. Linux安裝code-server
#

code-server跟原版的VSCode可以共存,資料是分開存放的。

Docker版code-server可能要設定docker volume才能存取系統上的其他目錄,為免麻煩,直接裝.deb或.rpm套件。

  1. 參考Github說明,執行開發者提供的指令稿。應該會自動偵測Linux發行版並安裝套件。
curl -fsSL https://code-server.dev/install.sh | sh
  1. 設定開機自動啟動code-server服務
sudo systemctl enable --now code-server@$USER
  1. 接著要調整code-server服務設定檔:
vim ~/.config/code-server/config.yaml
  1. 填入以下內容,綁定0.0.0.0允許外部連線,通訊埠設定為8080,並設定登入驗證方式為密碼。(code-server尚支援Github外部驗證方式,這裡Ivon選了最簡單的方案)
bind-addr: 0.0.0.0:8080
auth: password
password: 12345678
cert: false
  1. 重啟code-server服務
sudo systemctl restart code-server@$USER
  1. 這樣就可以用http://Linux電腦的IP:8080存取VSCode了,登入需要輸入密碼。

3. 設定外網連線code-server的方式
#

跟code-server連線的時候,不會經過Microsoft的伺服器中介,你可以自由選擇連線方式。

例如我會使用內網穿透軟體從外網連線。

部份code-server功能需要HTTPS連線,例如存取剪貼簿。如果你沒有自己的網域,可以透過Taiscale Funnel達成。

相關文章

網頁剪片程式ClipMash,輕鬆將AV與裏番好用的片段做成合集
分類   Linux系統 Self-hosting自架
標籤   Media Server Windows Linux
裏番與色圖整理程式:Stash (stashapp),支援串流影片與圖片上標籤
分類   Linux系統 Self-hosting自架
標籤   Media Server Windows Linux
KVM虛擬機當主力機使用,Linux + Windows的虛擬機多開實踐
分類   Linux系統 Self-hosting自架
標籤   VDI Linux Libvirt Moonlight

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。