Visual Studio Code Server

Visual Studio Code Server 是一項服務,您可以將其執行在遠端開發機器上,例如桌上型電腦或虛擬機器 (VM)。它允許您透過本機的 VS Code 用戶端,從任何地方安全地連接到該遠端機器,且無需使用 SSH。

什麼是 VS Code Server?

在 VS Code 中,我們希望使用者能順暢地利用各種環境來發揮最高的生產力。VS Code Remote Development 擴充功能讓您能夠直接在 VS Code 中操作 Windows Subsystem for Linux (WSL)、透過 SSH 連接遠端機器,以及使用開發容器。這些擴充功能會在遠端環境中安裝一個伺服器,讓本機的 VS Code 能夠順暢地與遠端的原始程式碼及執行階段互動。

我們現在提供獨立的「VS Code Server」,這是一項基於遠端擴充功能所使用之相同底層伺服器所建構的服務,並額外提供了互動式 CLI 以及促進與 vscode.dev 安全連接等功能。

vscode.dev connected to the VS Code Server

架構

無論您如何使用編輯器(無論是本機還是遠端,在桌機版還是瀏覽器中),我們都希望能提供統一的 VS Code 體驗。

存取 VS Code Server 的功能已內建於現有的 code CLI 中。

CLI 會在 VS Code 用戶端與您的遠端機器之間建立通道 (Tunnel)。隧道可以將資料從一個網路安全地傳輸到另一個網路。

The VS Code Server architecture

VS Code Server 體驗包含幾個元件:

  • VS Code Server:使 VS Code 遠端體驗成為可能的後端伺服器。
  • Remote - Tunnels 擴充功能:會自動載入至您的本機 VS Code 用戶端,用以促進與遠端機器的連接。

應用場景

VS Code Server 讓您能以新的方式使用 VS Code,例如:

  • 在 SSH 支援受限,或需要基於網頁存取的遠端機器上進行開發。
  • 在不支援安裝 VS Code 桌機版的機器上進行開發,例如 iPad / 平板電腦或 Chromebook。
  • 體驗所有程式碼皆可在瀏覽器沙盒 (Sandbox) 中執行所帶來的用戶端安全優勢。

入門指南

您可以選擇兩種途徑來啟用通道功能,詳細說明請參閱各自的文件內容:

嘗試項目

授權與其他指令

首次執行 VS Code Server 時,系統會提示您查看授權條款。您可以在此處檢視 VS Code Server 的授權。

* Visual Studio Code Server
*
* By using the software, you agree to
* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and
* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).

您可以執行 code -h 來探索 CLI 的其他指令,若要查看通道相關指令,可執行 code tunnel -help

Output of tunnel help CLI command

擴充功能指令

與 CLI 一樣,VS Code Remote Tunnels 擴充功能也有額外的指令可供探索。您可以透過開啟 VS Code 中的指令選擇區 (Command Palette) (F1) 並輸入 Remote Tunnels 來使用。您可以在 Remote Tunnels 文件中了解更多資訊。

遙測

如果您想停用遙測 (Telemetry),可以在啟動 VS Code Server 時傳入 --disable-telemetry 參數:code tunnel --disable-telemetry。或者,如果您想指定初始的遙測層級(例如僅收集錯誤),可以傳入 --telemetry-level 並在後方加上層級名稱(例如 error)。

如果沒有透過 CLI 停用遙測,VS Code Server 將在成功連接後,遵循用戶端的遙測設定(您在 vscode.dev 或桌機版中的遙測設定)。

常見問題

VS Code Server 是否設計供多名使用者存取同一個遠端執行個體?

否,伺服器的執行個體設計為僅供單一使用者存取。

我可以將 VS Code Server 當作服務來託管嗎?

否,根據 VS Code Server 授權的規定,不允許將其作為服務託管。

是否有 VS Code Server 所使用的端點清單?

如果您在受限制的環境中工作,可能需要確保 VS Code Server 能存取下列文章中所列的端點:

還有其他擴充功能限制嗎?

使用網頁版 VS Code 執行個體時,不支援純 UI 的擴充功能。您可以參閱擴充功能開發者指南中的 Remote Development (遠端開發) 章節以了解更多資訊。

有瀏覽器限制嗎?

在瀏覽器中工作時,有一些限制和設定步驟需要考量。您可以閱讀 VS Code for the Web 文件以了解詳情。

我該如何保持 VS Code Server 為最新版本?

當您連接到遠端機器時,若有可用的更新,您將會在 VS Code 中收到通知,並可直接透過該通知進行更新。

我看到關於金鑰環 (Keyring) 儲存的錯誤訊息,該怎麼辦?

設定同步 (Settings Sync) 需要向 Settings Sync 伺服器進行驗證。對應的密鑰會儲存在伺服器上,這需要在伺服器上設定金鑰環。如果未設定金鑰環,VS Code Server 將會改為使用儲存在伺服器記憶體中的密鑰。在此情況下,密鑰僅會在伺服器執行期間保留。

此問題提供了更多背景資訊,可能有助於您進行疑難排解。如果問題依然存在,請隨時在 VS Code Remote GitHub 儲存庫中回報新問題。

在哪裡可以提供意見回饋或回報問題?

如果您有任何問題或意見,請在 VS Code Remote GitHub 儲存庫中提出 Issue。回報問題時,請包含詳細的記錄檔 (verbose logging),您可以透過以 -v 旗標啟動 VS Code Server 來啟用:code -v tunnel

您可以透過 code-server 標籤篩選出僅與 VS Code Server 相關的問題。

© . This site is unofficial and not affiliated with Microsoft.