Live Share无“光标权限”,光标同步与编辑权限解耦,只读用户仍可见光标;防误删关键在关闭编辑权、禁用终端共享、配合.vsliveshare/settings.json敏感文件保护。

Live Share 没有“光标权限”这个概念——它不控制光标可见性,只控制编辑权。你看到对方光标却无法阻止误删,本质是权限设成了 Allow guests to edit files,而不是光标本身可配。
为什么关掉编辑权限后还能看到对方光标?
Live Share 的光标同步是底层协作协议的一部分,和文件是否可写完全解耦。只要会话建立成功,所有参与者(包括只读用户)都会实时显示彼此的光标位置、选区和滚动状态。这是为了代码审查、教学演示等场景设计的,不是漏洞,也不支持关闭。
- 只读模式下:光标可见 ✅|编辑操作被拦截 ❌|
Ctrl+S保存失败(无提示)✅ - 编辑模式下:光标可见 ✅|修改实时广播 ✅|
rm -rf在共享终端里照常执行 ⚠️ - 想隐藏光标?VSCode 不提供该选项;第三方插件也无稳定支持,强行 hack 可能破坏协作稳定性
真正防止误删的关键在三处设置
误删通常发生在三种动作:直接编辑敏感文件、在共享终端执行危险命令、调试时意外触发清理脚本。这些都和光标无关,而取决于权限开关与配置项。
- 发起会话前,在右下角
Live Share气泡 →Share…→ 取消勾选Allow guests to edit files(默认是勾选的) - 已共享后临时降权:点击状态栏
Live Share→Change Guest Permissions→ 切到Read-Only - 必须禁用终端共享:在共享面板里明确取消
Allow guests to use terminal,否则协作者可在Terminal标签页执行任意 shell 命令 - 敏感文件需双重防护:在工作区根目录加
.vsliveshare/settings.json,写入"readOnly": ["**/secrets.env", "**/config/*.prod.js"]
settings.json 里哪些配置会影响协作安全?
全局配置比每次手动点选更可靠,尤其适合团队统一策略。但注意:这些设置只影响新会话,旧会话需重新启动才生效。
-
"liveshare.shareWorkspace": "read":强制所有新会话默认只读,避免手滑勾选编辑 -
"liveshare.allowEditing": false:和上面等效,部分旧版配置用这个字段 -
"liveshare.requirePassword": true:防止链接被转发后未授权加入 -
"liveshare.autoShareWorkspace": false:禁用自动共享整个工作区,主机必须显式点击Share Workspace才同步文件树 - 不要设
"liveshare.automaticallyCopyLink": true:自动复制链接容易误发到公开群聊
最常被忽略的是终端权限和 .vsliveshare/settings.json 的组合使用——只设全局只读,协作者仍可能通过终端删文件;只设终端关闭,又无法阻止他们改代码。两者必须同时配置,且 .vsliveshare/settings.json 必须放在工作区根目录,否则不生效。


















