VS Code Server

2022 年 7 月 7 日,作者:Brigit Murtaugh,@BrigitMurtaugh

远程开发的现在与未来

注意:自本博客发布以来,我们已更改了连接到 VS Code Server 的方式。请查看 2022 年 12 月的博文以获取最新指南。

2019 年,我们发布了远程开发 (Remote Development) 扩展,让您可以从本地 VS Code “远程”开发应用程序,目标包括 Windows 子系统 Linux 版 (WSL)、Docker 容器,以及您通过 SSH 管理的远程物理或虚拟机器。2020 年,我们通过 GitHub Codespaces 在远程开发方面又迈出了一步,让您可以在本地或浏览器中使用 VS Code,在云端托管和管理的远程虚拟机上开发应用程序。

我们之所以能做到这一点,是因为 VS Code 在设计上就是一个多进程应用程序。从概念上讲,前端(您输入代码的地方)在一个进程中运行,而后端服务(托管扩展、终端、调试等)在另一个独立的进程中运行。

今天,我们发布了实现这一切的后端服务——“VS Code Server”的私有预览版,同时还发布了一个 CLI,使安装、更新、管理和连接到该服务变得简单易行。您可以将服务器安装在任何您喜欢的地方(本地开发机、云端虚拟机等),并使用 VS Code for Web(也称为 vscode.dev)通过浏览器安全地访问它,无需繁琐地设置 SSH 或 https(当然,如果您愿意,也可以设置 😊)。

Terminal starting the VS Code Server, and vscode.dev connected to it

入门

由于用于安全连接到 VS Code Server 的服务目前处于私有预览阶段,您需要通过注册表单申请访问权限。一旦您可以开始使用该服务,您将收到一封电子邮件,希望能在一两周内收到。

收到权限后,请按照以下步骤快速上手:

  1. 在您的远程机器上(或您想要进行开发的任何位置)安装 VS Code Server。

    注意:针对不同的远程架构有不同的安装命令,您可以在服务器文档中查看。本文将演示如何在 Windows 子系统 Linux 版 (WSL) 实例中设置 VS Code Server,该实例在 Windows 上提供了一个真正的、隔离的 Linux 环境,并可以用作我们的“远程”隔离机器。

    在 WSL 终端中运行以下命令

    wget -O- https://aka.ms/install-vscode-server/setup.sh | sh
    
  2. 在 WSL 终端中运行以下命令以启动 VS Code Server

    code-server
    

    提示:运行 code-server -h 查看启动和管理服务器的所有可用命令。

  3. 您的 WSL 发行版将通过安全隧道与 vscode.dev 进行通信,无论您处于何种网络环境下,都可以从 vscode.dev 连接到您的计算机。

    您将获得一个设备代码和 URL,用于将您的 GitHub 帐户验证到 VS Code Server 的安全隧道服务中。

    Please enter the code 7644-1186 on https://github.com/login/device
    

    通过在提供的验证 URL 输入设备代码,完成隧道服务的身份验证。

  4. 如果您是第一次从此 WSL 实例启动 VS Code Server,系统会提示您为连接命名。CLI 会建议一个有趣的“形容词-名词”默认名称(示例如下),您也可以选择接受该名称。

    ? What would you like to call this machine? (elegant-pitta) >
    
  5. 身份验证并提供机器名称后,CLI 将启动一个服务器实例并生成一个 vscode.dev URL。要在任何设备上连接到您的 WSL 实例,只需打开此 URL 即可。

    注意:您也可以直接从 vscode.dev 连接到 WSL 实例:在 vscode.dev 中打开命令面板 (F1) 并运行命令 Remote Tunnels: Connect to Remote

恭喜,您已成功安装并运行了 VS Code Server!访问生成的 vscode.dev 链接后,连接即完全建立。您的 WSL 发行版文件应会出现在 VS Code 资源管理器中,您可以开始从 vscode.dev 对其进行编码。

更大旅程的预览

VS Code Server 目前处于私有预览阶段。在此早期预览版中,code-server CLI 与您今天使用的启动桌面版 VS Code、安装扩展等的 code CLI 是不同的(请在终端运行 code -h 😊)。这只是通往完全统一的 code CLI 道路上的第一步,未来它将让您可以同时管理桌面端和服务器端。

我们很高兴您能试用 VS Code Server。您可以在其文档介绍视频中了解更多信息,包括架构、其他命令、实现细节和应用场景。如果您有任何问题或反馈,请在 VS Code Remote Development GitHub 仓库中提交 Issue,或者在 Twitter 上通过 @code 向我们发送您的想法。

编码愉快!

Brigit Murtaugh, @BrigitMurtaugh

© . This site is unofficial and not affiliated with Microsoft.