Live Share 不实时同步光标与键入,仅共享编辑会话状态,存在延迟、错位及撤销不同步;需手动保存或启用自动保存才能同步修改;多人同改一行时后提交者覆盖前者且无提示;权限仅支持全局只读/可编辑/调试/终端四级控制;共同调试要求 launch.json 和运行环境完全一致。

Live Share 不能真正“实时”同步光标和键入过程——它共享的是编辑会话状态,不是逐字符流,所以延迟、光标错位、撤销行为不同步是常态。
为什么改完代码对方看不到最新内容
Live Share 默认不自动同步文件保存状态。对方看到的是你共享时的文件快照,后续修改除非你手动保存(Ctrl+S / Cmd+S),否则不会推送到协作者视图中。
- 务必养成「修改即保存」习惯,或开启 VS Code 自动保存:
File > Auto Save(设为afterDelay或onFocusChange) - 检查右下角状态栏是否显示
Shared而非Sharing—— 后者表示仅发起共享但尚未建立连接 - 如果对方仍卡在旧版本,尝试让其执行
Developer: Reload Window(Ctrl+Shift+P输入触发),有时缓存会导致文件未刷新
多人同时编辑同一行时会发生什么
Live Share 不做合并(merge),而是按服务端接收顺序应用编辑操作。同一行被两人高频修改时,后提交的变更会覆盖前一个,且无冲突提示。
- 避免对同一函数体/配置块并行重写;可约定「谁选中该区域谁主改」
- 启用
editor.cursorSmoothCaretAnimation和editor.multiCursorMergeOverlapping可略微改善多光标视觉反馈,但不解决逻辑覆盖 - 关键逻辑修改前,口头或聊天窗口同步意图,比依赖工具更可靠
如何限制协作者权限,防止误删或执行命令
Live Share 默认开启「可编辑」,但你可以按需降权。权限控制粒度仅限于「只读」「可编辑」「可调试」「可终端」四类,不支持文件级或行级细控。
- 发起共享时点击右下角
Live Share气泡 → 选择Share…→ 取消勾选Allow guests to edit files - 已共享后想临时禁写:点击状态栏
Live Share→Change Guest Permissions→ 切换为Read-Only - 注意:
Terminal权限一旦开启,协作者可执行任意命令(包括rm -rf),生产环境共享务必关闭此项
最常被忽略的一点:Live Share 的「共同调试」依赖双方使用完全一致的 launch.json 配置和运行时环境。路径硬编码、端口冲突、Node.js 版本差一个 patch 都会导致断点失效或进程无法 attach——这比编辑不同步更难排查。











