type
Post
status
Published
slug
2023/01/11/how-to-enable-vscode-tunnel-mode
summary
tags
工具
开发
category
技术分享
icon
password
Property
Jan 11, 2023 11:02 AM
created days
Visual Studio Code Server 是一项可以在远程开发机器(如台式电脑或虚拟机 (VM))上运行的服务。它允许您通过本地 VS Code 客户端从任何地方安全地连接到该远程计算机,而无需 SSH。

Tunnel 连接模式架构

最近 VS Code 为了提升远程开发的统一体验,推出了 Tunnel 连接模式。
对 VS 代码服务器的访问内置于现有 code CLI 中。
CLI 可以在 VS Code 客户端和远程计算机之间建立安全的隧道,以便将数据从一个网络传输到另一个网络。
notion image
VS Code 服务端体验包括几个组件:
  • VS Code 服务端:使 VS 代码远程体验成为可能的后端服务器。

适用场景

VS Code 服务器允许您以新的方式使用 VS Code,例如:
  • 在 SSH 支持可能受限或需要基于 Web 的访问的远程计算机上进行开发。
  • 在不支持安装 VS Code 桌面的机器上开发,例如 iPad/平板电脑或 Chromebook。
  • 体验所有代码都可以在浏览器沙箱中执行的客户端安全优势。

使用方法

💡
前提条件:1. 拥有 VS Code CLI。2. 使用 Tunnel 模式会尝试连接 Github 获取登陆验证码,请确保自己的网络状况良好。

1 CLI 方式

1.1 下载 code CLI

在您想要从 VS Code 客户端进行开发的远程计算机上安装 code CLI。CLI 会在 VS Code 客户端和远程计算机之间建立一个隧道。
CLI 会自动内置到 VS Code 桌面版中,无需额外设置。
或者,您也可以从我们的下载页面上获取 独立安装 的 CLI,它与 VS Code 桌面版安装是分开的:
notion image
💡
注意:如果您使用的是独立安装,则下一节中的命令将以 ./code 而不是 code 开头。

1.2 使用 tunnel 命令创建安全隧道

code tunnel
这个命令下载并启动这台机器上的 VS Code 服务器,然后创建一个到它的隧道的连接。
💡
注意:当您第一次在机器上启动隧道时,系统会提示您接受服务器许可条款。您也可以在命令行中传递 --accept-server-license-terms 以避免提示。
notion image

1.3 输入验证码

当您在此客户端上首次打开 vscode.dev URL 时,系统会提示您通过 https://github.com/login/oauth/authorize... URL 登录您的 GitHub 帐户。这会验证您的身份,以确保您可以访问正确的远程机器集。
notion image

1.4 打开连接链接

此 CLI 将输出绑定到此远程计算机的 vscode.dev URL,例如 https://vscode.dev/tunnel/<machine_name>/<folder_name>。您可以在您选择的客户端上打开此 URL。
notion image
同时你也可以在 VS Code 侧栏中的远程服务器中看到对应的 Tunnel 隧道。
notion image

2 通过 VS Code 界面开启

  1. 在要打开隧道访问的远程计算机上打开 VS Code。
  1. 在 VS Code 帐户菜单中,选择打开远程隧道访问选项,如下图所示。您还可以在 VS Code 中打开命令面板 (F1) 并运行命令 Remote Tunnels: Turn on Remote Tunnel Access....
notion image
  1. 系统将提示您登录 GitHub。登录后,隧道将在您当前的机器上启动,您将能够远程连接到这台机器。
notion image
  1. 在你选择的客户端中,打开上面的通知中的 vscode.dev 链接并开始编码!
💡
注意:只有当 VS Code 运行时,才能通过隧道访问远程计算机。退出 VS Code 后,将无法再通过隧道连接到它,直到再次启动 VS Code 或运行 code tunnel CLI 命令。
 
欢迎加入喵星计算机技术研究院,原创技术文章第一时间推送。
notion image
 
BPF 学习系列之 - execsnoop Trace new processes via exec() syscalls.BPF 学习系列之 - 追踪点

  • Waline
  • Utterance