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 远程体验成为可能的后端服务器。
- 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 Remote Tunnels 扩展也包含其他命令,您可以通过在 VS Code 中打开命令面板 (F1
) 并键入Remote Tunnels来探索这些命令。您可以在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 服务器来启用详细日志:code -v tunnel
。
您可以使用 code-server
标签仅筛选 VS Code 服务器问题。