Visual Studio Code 服务器
Visual Studio Code 服务器是您可以在远程开发机器(如您的台式电脑或虚拟机 (VM))上运行的服务。它允许您通过本地 VS Code 客户端安全地连接到该远程机器,无需 SSH。
什么是 VS Code 服务器?
在 VS Code 中,我们希望用户能够无缝地利用使他们效率最高的环境。VS Code 远程开发扩展 允许您在 Windows Subsystem for Linux (WSL)、通过 SSH 连接的远程机器以及开发容器中直接从 VS Code 进行工作。这些扩展在远程环境中安装一个服务器,使本地 VS Code 可以与远程源代码和运行时环境平滑地交互。
我们现在提供一个独立的“VS Code 服务器”,它是在远程扩展使用的相同底层服务器上构建的服务,还具有一些其他功能,例如交互式 CLI 和促进与 vscode.dev 的安全连接。
架构
我们希望无论您如何使用编辑器,无论是在本地还是远程,在桌面还是浏览器中,都能提供统一的 VS Code 体验。
对 VS Code 服务器的访问已内置到现有的 code
CLI 中。
CLI 在 VS Code 客户端和您的远程机器之间建立隧道。隧道以安全方式将数据从一个网络传输到另一个网络。
VS Code 服务器体验包含几个组件
- VS Code 服务器:使 VS Code 远程体验成为可能的后台服务器。
- Remote - Tunnels 扩展:在您的本地 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 远程 GitHub 存储库 中提交新问题。
在哪里可以提供反馈或报告问题?
如果您有任何问题或反馈,请在 VS Code 远程 GitHub 存储库 中提交问题。在提交问题时,请包含详细的日志,您可以通过使用 -v
标志启动 VS Code 服务器来启用:code -v tunnel
。
您可以使用 code-server
标签 仅筛选 VS Code 服务器问题。