登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  软件教程

VS Code Remote Tunnels 怎样让外部设备连接本地开发环境

来源:17golang原创

时间:2026-10-29 00:29:17 186浏览 收藏

如果代码在家里的电脑、办公室工作站或一台没有公网入站地址的主机上,VS Code Remote Tunnels 可以把这台主机变成远程开发端。主机上运行 code tunnel,连接端再打开生成的 vscode.dev 地址或使用 Remote - Tunnels 扩展;源代码、命令执行和扩展运行仍然发生在主机上。

官方地址:https://code.visualstudio.com/docs/remote/tunnels/

最小流程是:在保存代码的主机启动隧道,用同一个 GitHub 或 Microsoft 账号登录连接端,再从 Remote Tunnels 主机列表中打开目标文件夹。它不要求你先配置 SSH 服务,也不是普通的端口转发。

先确认主机和连接端条件

Remote Tunnels 的“主机”是代码所在的电脑,“连接端”可以是另一台电脑上的 VS Code,也可以是浏览器里的 VS Code。主机需要安装 VS Code Desktop 或独立的 VS Code CLI;如果使用 Desktop,code 命令通常已经随安装提供。第一次建立隧道时,主机端要完成账号登录并接受 VS Code Server 的许可条款。

还要提前记住两个边界:主机必须保持运行并让 VS Code 或 tunnel 进程继续工作;同一台远程实例不是为多个用户同时编辑而设计的。登录账号不一致、主机休眠或 VS Code 被退出,都会让连接端看不到可用主机。

用 code tunnel 发布本地开发环境

在代码所在的主机上打开已有命令行,执行下面的命令。命令会启动 VS Code Server,并创建到 Microsoft dev tunnels 服务的安全连接:

# 在保存项目的主机上启动 Remote Tunnel
code tunnel --accept-server-license-terms

# 如果只想先查看可用的隧道命令和参数
code tunnel --help

首次运行通常会提示完成 GitHub 或 Microsoft 登录。命令完成初始化后会输出一个指向 vscode.dev/tunnel/... 的入口,复制这个地址到外部设备即可。若主机没有完整的 VS Code Desktop,可以安装独立 CLI,再把命令中的 code 换成当前目录下的 ./code。

如果更习惯图形界面,也可以在主机的 VS Code 中打开账户菜单,选择“Turn on Remote Tunnel Access”;或者打开命令面板,执行“Remote Tunnels: Turn on Remote Tunnel Access...”。这两种入口得到的是同一种隧道能力。

VS Code 主机侧账户菜单和 Remote Tunnel Access 状态的原创界面说明图
图1:主机侧发布 Remote Tunnel 的原创界面说明图,展示账户入口、隧道状态和 vscode.dev 链接位置,不是运行截图。

在外部设备连接并打开远程文件夹

最直接的方式是打开主机输出的 vscode.dev 地址。连接端第一次访问时,需要使用与主机端相应的 GitHub 或 Microsoft 账号完成认证;认证通过后,选择主机上的文件夹,编辑、搜索、调试和命令执行会针对远程文件系统生效。

如果你使用的是桌面版 VS Code,可以安装并启用 Remote - Tunnels 扩展,然后按以下路径操作:

Remote Tunnels: Connect to Tunnel
Remote Explorer: Focus on Remote View

在 Remote Explorer 中选中仍在线的主机即可连接。左下角的远程指示器会显示当前处于远程环境;不要把“看到了主机名称”误认为文件已经复制到本地,远程扩展和 VS Code Server 仍在主机侧协作。

VS Code Remote Explorer 选择远程主机并打开文件夹的原创界面说明图
图2:连接端在 Remote Explorer 中选择活动隧道和远程文件夹的原创界面说明图,不是运行截图。

让隧道保持在线,或安全关闭

临时使用时,保持 code tunnel 进程运行即可。若主机容易自动休眠,可以在启动时使用:

# 让隧道运行时尽量阻止主机进入休眠
code tunnel --no-sleep

# 需要长期运行时安装 tunnel 服务
code tunnel service install

# 不再让这台主机作为当前账号的隧道主机
code tunnel unregister

service install 是把 tunnel 交给系统服务管理,--no-sleep 是运行参数,两者解决的问题不同。要暂时停止 UI 方式创建的隧道,可以在命令面板执行“Remote Tunnels: Turn off Remote Tunnel Access...”。如果只是关闭当前命令行进程,隧道会马上离线,但不会自动注销主机关系。

连接不上时按四个状态排查

  • 主机不在列表:先回到主机确认 VS Code 仍在运行,或重新执行 code tunnel;主机休眠也会造成同样现象。
  • 能登录但打不开:检查连接端和主机端是否使用同一个 GitHub 或 Microsoft 账号,并确认选择的是正确的主机。
  • 浏览器能连、桌面版找不到:在桌面版安装 Remote - Tunnels 扩展,再执行“Remote Tunnels: Connect to Tunnel”。
  • 把隧道当成端口转发:Remote Tunnels 解决的是打开远程工作区;若只需要访问主机上的 Web 服务,应单独使用 VS Code 的端口转发功能。

常见问题

Remote Tunnels 必须配置 SSH 服务吗?

不需要先配置 SSH 服务。它通过安全隧道连接远程主机,连接建立后由 VS Code Server 提供远程开发能力。

外部设备需要保存一份项目代码吗?

不需要。项目文件、运行时和大部分远程扩展在主机侧工作,外部设备主要提供编辑器界面和操作入口。

可以让多个客户端同时编辑同一台主机吗?

官方文档把一个 Server 实例设计为一次由一个用户或客户端访问。需要多人协作时,应改用代码托管、Codespaces 或其他协作方案,不要把同一条隧道当成共享编辑会话。

简单记忆:先在代码所在主机启动隧道,再在连接端认证并选择文件夹;主机在线决定隧道是否可见,账号一致决定是否有权限,Remote Tunnels 与端口转发则是两种不同的任务入口。

声明:本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>