Visual Studio Code Server
Visual Studio Code Server 是一種服務,可以在遠端開發機器(例如臺式電腦或虛擬機器 (VM))上執行。它允許您透過本地 VS Code 客戶端從任何地方安全地連線到該遠端機器,而無需 SSH。
什麼是 VS Code Server?
在 VS Code 中,我們希望使用者能夠無縫地利用最能提高生產力的環境。VS Code 遠端開發擴充套件允許您直接從 VS Code 中在適用於 Linux 的 Windows 子系統 (WSL)、透過 SSH 連線的遠端機器以及開發容器中工作。這些擴充套件會在遠端環境中安裝一個伺服器,允許本地 VS Code 與遠端原始碼和執行時順暢地互動。
我們現在提供一個獨立的“VS Code Server”,它是一個基於遠端擴充套件使用的相同底層伺服器構建的服務,並增加了一些額外的功能,例如互動式 CLI 和促進與 vscode.dev 的安全連線。
架構
我們希望無論您如何使用編輯器,無論是本地還是遠端,在桌面還是在瀏覽器中,都能提供統一的 VS Code 體驗。
對 VS Code Server 的訪問內置於現有的 code
CLI 中。
CLI 在 VS Code 客戶端和您的遠端機器之間建立一個隧道。隧道安全地將資料從一個網路傳輸到另一個網路。
VS Code Server 體驗包括幾個元件
- VS Code Server:使 VS Code 遠端體驗成為可能的後端伺服器。
- Remote - Tunnels 擴充套件:自動載入到您的本地 VS Code 客戶端中,它促進了與遠端機器的連線。
場景
VS Code Server 允許您以新的方式使用 VS Code,例如:
- 在 SSH 支援可能受限的遠端機器上進行開發,或者您需要基於 Web 的訪問。
- 在不支援安裝 VS Code 桌面的機器上進行開發,例如 iPad/平板電腦或 Chromebook。
- 體驗客戶端安全優勢,即所有程式碼都可以在瀏覽器沙盒中執行。
開始使用
您可以透過兩種方式啟用隧道,這些方式在其各自的文件內容中有更詳細的描述
嘗試事項
許可和其他命令
首次執行 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
探索隧道命令。
擴充套件命令
與 CLI 一樣,VS Code Remote Tunnels 擴充套件還有其他命令,您可以透過在 VS Code 中開啟命令面板 (F1
) 並輸入 Remote Tunnels 來探索這些命令。您可以在遠端隧道文件中瞭解更多資訊。
遙測
如果您想停用遙測,可以在啟動 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 能夠訪問以下文章中列出的端點:
- https://vscode.com.tw/docs/setup/network#_common-hostnames
- https://vscode.com.tw/docs/remote/ssh#_what-are-the-connectivity-requirements-for-the-vs-code-server-when-it-is-running-on-a-remote-machine-vm
還有其他擴充套件限制嗎?
使用基於 Web 的 VS Code 例項時不支援純 UI 擴充套件,您可以在擴充套件作者的遠端開發指南中瞭解更多資訊。
有瀏覽器限制嗎?
在瀏覽器中工作時,需要考慮一些限制和配置步驟。您可以在Web 版 VS Code 文件中閱讀更多相關資訊。
如何使 VS Code Server 保持最新?
當您連線到遠端機器時,如果有可用更新,您將在 VS Code 中收到通知,並且可以直接透過此通知進行更新。
我看到關於金鑰環儲存的錯誤。我該怎麼辦?
設定同步需要對設定同步伺服器進行身份驗證。相應的秘密資訊儲存在伺服器上。這需要在伺服器上設定金鑰環。當未設定金鑰環時,VS Code Server 會回退到儲存在伺服器上的記憶體中秘密資訊。在這種情況下,秘密資訊僅在伺服器的生命週期內持續存在。
此問題提供了更多上下文,可能有助於您進行故障排除。如果您仍然遇到問題,請隨時在 VS Code Remote GitHub 儲存庫中提交新問題。
我在哪裡可以提供反饋或報告問題?
如果您有任何問題或反饋,請在 VS Code Remote GitHub 儲存庫中提交問題。提交問題時,請包含詳細日誌,您可以透過使用 -v
標誌啟動 VS Code Server 來啟用詳細日誌:code -v tunnel
。
您可以使用 code-server
標籤僅篩選出 VS Code Server 相關問題。