邀请链接生成后,可通过三种方式发送:复制链接手动粘贴至微信/钉钉/Slack/邮件;在邀请窗口中选择已绑定账户的联系人;或用命令面板运行“Live Share: Copy Join Link to Clipboard”。

邀请链接生成后,怎么发给协作者?
Live Share 不叫“邀请码”,而是生成一个带加密签名的 https://prod.liveshare.vsengsaas.visualstudio.com/join/... 链接。这个链接一次性有效、有时效(默认 7 天),且只能由已登录账户的用户打开。
发送方式就三种,没有其他隐藏入口:
- 点击共享面板右上角的
Copy link按钮,手动粘贴到微信、钉钉、Slack 或邮件里 - 在弹出的邀请窗口中,点
Invite others→ 选择已配置的联系人(需提前在 VSCode 设置里绑定 GitHub / Microsoft 账户) - 用命令面板(
Ctrl+Shift+P)运行Live Share: Copy Join Link to Clipboard,适合脚本或自动化场景
注意:链接不能直接发给未安装 Live Share 扩展的人——对方点击后会跳转到扩展安装页,装完还要重启 VSCode,整个流程卡在“等他配好环境”这一步。
对方点链接打不开?常见断连原因
不是链接失效,大概率是身份链没对齐。Live Share 强制要求双方使用同一类账户登录,且必须完成显式确认动作:
- 你用
GitHub登录,对方也得用GitHub(不能用github.com别名混搭 Outlook 账户) - 对方点击链接后,VSCode 会弹出权限确认窗口(常被广告拦截器或浏览器静默屏蔽),必须手动点
Join—— 不点就不会进会话 - 首次使用者会触发扩展自动下载 + VSCode 重启 + 账户登录三连,这个过程走不完,“Waiting for guest…” 就一直挂着
状态栏左下角显示 Sharing 是正常中间态;变成 Shared 才代表连接真正建立。
终端和调试为什么对方看不到?
Live Share 默认关闭 Terminal 和 Debug 共享开关。这两个功能不是“开了就能用”,而是需要你在发起会话时主动勾选:
- 点
Start Collaboration Session后,弹出的面板里明确有Allow guests to share terminal和Allow guests to debug两个复选框,必须手动打钩 - 即使勾了,调试仍读取对方本地的
launch.json,硬编码绝对路径(如"program": "/home/user/project/dist/index.js")必然失败 - 推荐全部改用
${workspaceFolder}变量,比如"program": "${workspaceFolder}/dist/index.js"
终端输出不同步?检查对方是否在自己的终端里执行了命令——共享的是“你的终端实例”,不是“他的 shell 环境”。
怎么防止误操作或越权访问?
Live Share 的权限模型很朴素,没有文件级或命令级控制,只有全局开关:
- 发起会话前,在共享面板里取消勾选
Allow guests to edit files,对方就只能看、不能改、不能保存 - 想更细粒度管控?靠配置项
"liveshare.readOnly": true写进settings.json,但这是主机侧默认策略,不强制约束访客行为 - 敏感项目务必禁用
Share Server(即 TCP 端口转发),避免把本地开发服务意外暴露出去
最易被忽略的一点:所有编辑变更都不会自动保存。对方改了代码,你没按 Ctrl+S,他就永远看不到最新内容——这不是同步延迟,是设计如此。











