live share 连不上 host 的根本原因是网络策略或 vscode 权限未放行;需运行“live share: check network connectivity”诊断,授权终端/调试权限,确保 launch.json 中 request 为 launch,并在编辑器内保存文件。

Live Share 为什么连不上 host?
根本原因通常是网络策略或 VSCode 权限没放行,不是插件装错了。Live Share 默认走微软中继服务器(vs-liveshare.com),但国内部分企业防火墙会拦截其 TLS SNI 或 WebSocket 升级请求。
实操建议:
- 先在 VSCode 命令面板运行
Live Share: Check Network Connectivity,它会输出真实连通性诊断结果,比“重装插件”有用得多 - 如果显示
Failed to connect to relay server,临时关闭公司代理或尝试开启Live Share: Use Direct Connection(需双方在同一局域网或已打通端口) - macOS 用户注意:系统隐私设置里要手动允许 VSCode 访问“完全磁盘访问”,否则共享终端时会静默失败
共享终端/调试器时权限被拒绝?
Live Share 的终端和调试功能默认是禁用的,必须显式授权,不是“开了插件就自动同步”。而且授权是一次性的,重启 VSCode 后需重新确认。
实操建议:
- 启动会话前,在命令面板执行
Live Share: Change Collaboration Session Permissions,勾选Terminal和Debug - 被邀请方首次接受邀请时,VSCode 底部状态栏会出现黄色提示条,点
Allow才真正生效;点Deny后即使重连也不会再弹窗 - 调试共享依赖
launch.json配置中的request字段必须为launch(不能是attach),否则 guest 端无法触发断点
文件保存后对方看不到实时更新?
Live Share 不同步文件系统写入事件,只同步编辑器内的文本变更。如果一方用外部工具(如命令行 echo、脚本覆盖)改了文件,另一方不会感知——这是设计使然,不是 bug。
实操建议:
- 所有修改务必在 VSCode 编辑器内完成,保存用
Ctrl+S(Windows/Linux)或Cmd+S(macOS),避免用File → Save As另存为新路径 - 启用
Files: Auto Save并设为afterDelay,可降低因忘记保存导致的协作断层 - 如果项目用了 Git Hook(如
pre-commit格式化),确保 hook 不会静默修改文件内容,否则 guest 看到的 diff 会混乱
Python 虚拟环境路径不一致导致调试失败?
Live Share 不共享 Python 解释器路径,guest 端调试时若未手动指定与 host 一致的 python.defaultInterpreterPath,就会用本地默认解释器,引发包缺失或版本错乱。
实操建议:
- host 端在工作区设置中明确配置:
"python.defaultInterpreterPath": "./venv/bin/python"
(Linux/macOS)或"python.defaultInterpreterPath": ".\venv\Scripts\python.exe"
(Windows) - guest 端不要直接点“运行 Python 文件”,而应打开
Run and Debug视图,选择对应 launch 配置,VSCode 会读取该设置 - 虚拟环境目录名必须一致(比如都叫
venv),否则相对路径失效;用poetry或pipenv的项目,建议先导出requirements.txt并让 guest 手动重建环境
Live Share 的协同粒度很细,但每项能力背后都有独立的权限开关和路径假设。最容易忽略的是:每次新打开一个文件、切换一个终端、启用一次调试,都可能触发新的权限弹窗或配置校验——别跳过那个小黄条。











