Remote-Tunnels 可实现免公网IP远程开发,但要求远端机器联网、安装VS Code 1.82+桌面版、并使用Microsoft账户登录,三者缺一不可。

Remote-Tunnels 不需要公网 IP,但必须远端机器能联网、装了 VS Code 1.82+、且登录了 Microsoft 或 GitHub 账户——缺一不可。其他“免配置”宣传都建立在这三个硬条件之上。
远端机器(被连接方)必须完成这三步
很多人卡在“点了 Create Tunnel 没反应”,实际是远端根本没准备好:
- VS Code 必须是桌面版(
1.82+),vscode.dev或移动端 App 不能创建隧道,仅能作为客户端接入 - 左下角状态栏必须显示已登录:点击「未登录」→ 选「使用 Microsoft 账户登录」(Outlook/Hotmail 邮箱注册的账号),不是 GitHub 登录;若已用其他方式登录过,先点齿轮图标 →「帐户」→「注销」再重登
- 首次启用会弹系统级权限请求(macOS 要允许辅助功能,Windows 可能要过防火墙),拒绝会导致
Failed to start tunnel server: permission denied,必须重启 VS Code 并重新授权
命令面板里找不到 Remote-Tunnels 相关命令?
不是插件没装,而是功能未启用或账户未就绪:
- 打开设置(
Cmd+,或Ctrl+,),搜索remote.tunnels.enabled,确保勾选;该选项默认关闭,不手动开启命令不会出现 - 确认已执行过
Remote-Tunnels: Sign in to Microsoft(不是靠左下角头像“碰运气”登录),状态栏右下角必须同时出现头像 +Tunnel Ready字样 - 如果仍不显示,尝试重启 VS Code;某些旧版本(如 1.81)即使界面显示 1.82,也可能因更新不完整导致隧道模块缺失,建议卸载后从 code.visualstudio.com 重新下载安装
生成的 URL 打不开,或连上就卡在 Connecting…
这不是 VS Code 故障,而是网络链路或访问端配置问题:
- URL 格式必须是
https://vscode.dev/tunnel/xxx-yyy-zzz(当前主用),不是github.com/codespaces/t/...(旧版已逐步停用),复制时注意别多空格或换行 - 访问设备必须用浏览器打开该链接,且浏览器已登录同一个 Microsoft 账户;Safari 默认禁用第三方 Cookie,会导致验证中断,换 Chrome / Edge 或临时关闭隐私设置
- 企业内网、学校 Wi-Fi 常拦截 WebSocket 流量(隧道底层走
wss://),切手机热点试试;本地开了 Clash/Surge/Proxyman 等代理必须关闭——code tunnel不走系统代理,强行转发必报WebSocket connection failed
连接成功后终端打不开、扩展不加载、大文件卡顿
这是 Remote-Tunnels 的固有边界,不是配置错误:
- 终端运行的是远端机器上的 shell,但输入/输出经 Web 层沙箱中转,所以
Ctrl+Shift+F全局搜索或 TypeScript 语义分析会比本地慢 2–3 秒,无法优化 - GUI 类扩展(主题、图标包)正常,但依赖本地 GUI 的调试器(如某些 C++ 图形化调试插件)可能受限;调试断点、终端历史等运行时状态不会同步,每次重连都是干净会话
- 文件传输走隧道,
git clone、npm install等操作强烈建议在远端终端执行,避免把整个 node_modules 拉到浏览器内存里
最常被忽略的一点:隧道进程是依附于 VS Code 桌面实例存活的。关掉那个打开了目标项目的 VS Code 窗口,或者杀掉了后台的 code-tunnel 进程,链接立刻失效——它不像 SSH 服务那样后台常驻,也没有 systemd unit 或 launchd 配置项可设为开机自启。











