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。
架构
我们希望提供统一的 VS Code 体验,无论你如何使用编辑器,无论是在本地还是远程、在桌面还是在浏览器中。
访问 VS Code 服务器内置在现有的 code
CLI 中。
CLI 在 VS Code 客户端和你的远程计算机之间建立隧道。隧道安全地将数据从一个网络传输到另一个网络。
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
来浏览隧道命令
扩展命令
与 CLI 一样,VS Code 远程隧道扩展也有其他命令,你可以通过在 VS Code 中打开命令面板 (F1
) 并键入“Remote Tunnels”来浏览。你可以在远程隧道文档中了解更多信息。
遥测
如果要禁用遥测,可以在启动 VS Code 服务器时传入 --disable-telemetry
:code tunnel --disable-telemetry
。或者,如果要指定初始遥测级别,例如仅收集错误,可以传入 --telemetry-level
,后跟级别(例如,error
)。
如果未通过 CLI 禁用遥测,VS Code 服务器将在成功连接后开始遵守客户端遥测设置(你在 vscode.dev 或桌面中的遥测设置)。
常见问题
VS Code 服务器是否设计为允许多个用户访问同一个远程实例?
否,服务器的一个实例设计为由单个用户访问。
我可以将 VS Code 服务器作为服务托管吗?
否,不允许将其作为服务托管,如VS Code 服务器许可证中所述。
是否有 VS Code 服务器使用的端点列表?
如果你在受限环境中工作,则可能需要确保 VS Code 服务器可以访问以下文章中列出的端点
- https://vscode.js.cn/docs/setup/network#_common-hostnames
- https://vscode.js.cn/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 扩展,你可以在扩展作者的远程开发指南中了解更多信息。
是否存在浏览器限制?
在浏览器中工作时,有一些限制和配置步骤需要考虑。你可以在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 的问题。