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
) 并输入远程隧道来探索这些命令。你可以在远程隧道文档中了解更多信息。
遥测
如果你想禁用遥测,可以在启动 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 网页版文档中阅读更多相关信息。
如何保持 VS Code 服务器最新?
当连接到远程计算机时,如果有可用更新,你会在 VS Code 中收到通知,并且可以直接通过此通知进行更新。
我看到一个关于密钥环存储的错误。我该怎么办?
设置同步需要针对设置同步服务器进行身份验证。相应的密钥会保留在服务器上。这需要在服务器上设置一个密钥环。当未设置密钥环时,VS Code 服务器会回退到存储在服务器内存中的密钥。在这种情况下,密钥仅在服务器的生命周期内保留。
此问题提供了更多上下文,并可能帮助你进行故障排除。如果你仍然遇到问题,请随时在 VS Code Remote GitHub 仓库中提交新问题。
我在哪里可以提供反馈或报告问题?
如果你有任何问题或反馈,请在 VS Code Remote GitHub 仓库中提交问题。提交问题时,请包含详细日志,你可以通过使用 -v
标志启动 VS Code 服务器来启用详细日志:code -v tunnel
。
你可以使用code-server
标签仅筛选 VS Code 服务器问题。