现已推出!阅读有关 11 月份新功能和修复的信息。

Visual Studio Code 服务器

Visual Studio Code 服务器是一项服务,你可以在远程开发计算机(例如你的台式电脑或虚拟机 (VM))上运行它。它允许你通过本地 VS Code 客户端从任何地方安全地连接到该远程计算机,而无需 SSH。

什么是 VS Code 服务器?

在 VS Code 中,我们希望用户无缝利用使他们最高效的环境。VS Code 远程开发扩展允许你直接从 VS Code 中在适用于 Linux 的 Windows 子系统 (WSL)、通过 SSH 连接的远程计算机和开发容器中工作。这些扩展在远程环境中安装一个服务器,允许本地 VS Code 与远程源代码和运行时平稳地交互。

我们现在提供一个独立的“VS Code 服务器”,它是一个基于远程扩展使用的相同底层服务器构建的服务,并提供一些额外的功能,例如交互式 CLI 和方便安全连接到 vscode.dev。

vscode.dev connected to the VS Code Server

架构

我们希望提供统一的 VS Code 体验,无论你如何使用编辑器,无论是在本地还是远程、在桌面还是在浏览器中。

访问 VS Code 服务器内置在现有的 code CLI 中。

CLI 在 VS Code 客户端和你的远程计算机之间建立隧道。隧道安全地将数据从一个网络传输到另一个网络。

The VS Code Server architecture

VS Code 服务器体验包括以下几个组件

  • VS Code 服务器:使 VS Code 远程体验成为可能的后端服务器。
  • 远程 - 隧道扩展:自动加载到你的本地 VS Code 客户端中,它方便连接到远程计算机。

场景

VS Code 服务器允许你以新的方式使用 VS Code,例如

  • 在 SSH 支持可能受限的远程计算机上进行开发,或者你需要基于 Web 的访问。
  • 在不支持安装 VS Code 桌面的计算机上进行开发,例如 iPad/平板电脑或 Chromebook。
  • 体验客户端安全性优势,即所有代码都可以在浏览器沙箱中执行。

入门

你可以从两条路径中选择启用隧道,这些路径将在各自的文档内容中详细介绍

尝试事项

许可和其他命令

首次运行 VS Code 服务器时,系统将提示你接受许可条款。你可以在此处查看 VS Code 服务器的许可证。

* 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 远程隧道扩展也有其他命令,你可以通过在 VS Code 中打开命令面板 (F1) 并键入“Remote Tunnels”来浏览。你可以在远程隧道文档中了解更多信息。

遥测

如果要禁用遥测,可以在启动 VS Code 服务器时传入 --disable-telemetrycode tunnel --disable-telemetry。或者,如果要指定初始遥测级别,例如仅收集错误,可以传入 --telemetry-level,后跟级别(例如,error)。

如果未通过 CLI 禁用遥测,VS Code 服务器将在成功连接后开始遵守客户端遥测设置(你在 vscode.dev 或桌面中的遥测设置)。

常见问题

VS Code 服务器是否设计为允许多个用户访问同一个远程实例?

否,服务器的一个实例设计为由单个用户访问。

我可以将 VS Code 服务器作为服务托管吗?

否,不允许将其作为服务托管,如VS Code 服务器许可证中所述。

是否有 VS Code 服务器使用的端点列表?

如果你在受限环境中工作,则可能需要确保 VS Code 服务器可以访问以下文章中列出的端点

是否有其他扩展限制?

当使用基于 Web 的 VS Code 实例时,不支持纯 UI 扩展,你可以在扩展作者的远程开发指南中了解更多信息。

是否存在浏览器限制?

在浏览器中工作时,有一些限制和配置步骤需要考虑。你可以在VS Code for the Web 文档中了解更多信息。

如何使 VS Code 服务器保持最新?

当有可用更新时,如果你连接到远程计算机,将在 VS Code 中收到通知,你将能够直接通过此通知进行更新。

我看到一个有关密钥链存储的错误。我该怎么办?

设置同步需要针对设置同步服务器进行身份验证。相应的机密会持久保存在服务器上。这需要在服务器上设置密钥链。如果未设置密钥链,VS Code 服务器将回退到存储在服务器上的内存中机密。在这种情况下,机密仅在服务器的生命周期内持久保存。

此问题提供了更多背景信息,可能有助于您进行故障排除。如果您仍然遇到问题,请随时在 VS Code Remote GitHub 仓库中提交新问题。

我在哪里可以提供反馈或报告问题?

如果您有任何问题或反馈,请在 VS Code Remote GitHub 仓库中提交问题。提交问题时,请包含详细日志记录,您可以通过使用 -v 标志启动 VS Code Server 来启用详细日志记录:code -v tunnel

您可以使用 code-server 标签来筛选仅限 VS Code Server 的问题。