Visual Studio Code 服务器
Visual Studio Code Server 是一项可以在远程开发机器(如您的台式电脑或虚拟机 (VM))上运行的服务。它允许您通过本地 VS Code 客户端从任何地方安全地连接到该远程机器,而无需使用 SSH。
什么是VS Code服务器?
在VS Code中,我们希望用户能够无缝利用那些使他们最高效的环境。VS Code远程开发扩展允许您在Windows子系统Linux(WSL)、通过SSH连接的远程机器以及直接从VS Code访问的开发容器中工作。这些扩展在远程环境中安装了一个服务器,使得本地VS Code能够顺畅地与远程源代码和运行时进行交互。
我们现在提供了一个独立的“VS Code Server”,这是一个基于远程扩展使用的相同底层服务器构建的服务,加上一些额外的功能,如交互式CLI和促进与vscode.dev的安全连接。
架构
我们希望提供一个统一的VS Code体验,无论你如何使用编辑器,无论是在本地还是远程,在桌面还是在浏览器中。
访问 VS Code 服务器的功能已内置在现有的 code
CLI 中。
CLI 在 VS Code 客户端和您的远程机器之间建立了一个隧道。隧道安全地将数据从一个网络传输到另一个网络。
VS Code 服务器体验包括几个组件:
- VS Code 服务器:使 VS Code 远程体验成为可能的后端服务器。
- Remote - Tunnels extension: 自动加载到您的本地VS Code客户端中,它有助于连接到远程机器。
场景
VS Code 服务器允许您以新的方式使用 VS Code,例如:
- 在远程机器上开发,SSH支持可能有限,或者你需要基于Web的访问。
- 在不支持安装VS Code桌面的机器上进行开发,例如iPad/平板电脑或Chromebook。
- 体验客户端安全优势,所有代码都可以在浏览器沙箱中执行。
入门指南
您可以从两条路径中选择以启用隧道,这两条路径在各自的文档内容中有更详细的描述:
尝试的内容
许可和其他命令
首次运行VS Code Server时,您将看到许可条款的提示。您可以在此查看VS Code Server的许可证。
* 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 Server 许可证的规定,不允许将其作为服务托管。
VS Code 服务器使用的端点列表是否存在?
如果您在受限环境中工作,可能需要确保VS Code服务器能够访问以下文章中列出的端点:
- https://code.visualstudio.com/docs/setup/network#_common-hostnames
- https://code.visualstudio.com/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服务器相关的问题。