Live Share 中主持人可右键踢出特定来宾,但该操作仅断开连接,不自动回收终端或调试权限,需手动停止相关进程并撤销授权。

主持人可以直接踢人,但参与者无法主动退出会话影响全局——这是 Live Share 用户管理中最常被误判的一点。
Live Share 里“踢人”只能由主持人执行
VSCode Live Share 没有“踢出”按钮,但主持人可通过侧边栏的用户列表右键操作移除特定参与者。该动作立即断开对方连接,且不可撤销。
- 必须先打开
Collaboration侧边栏(快捷键Ctrl+Shift+P→ 输入Live Share: Show Collaboration Panel) - 在用户头像旁点击右键,选择
Kick Guest(不是“Remove”或“Disconnect”) - 被踢用户会收到提示
The host has ended your session,并自动关闭共享视图 - 注意:此操作不终止整个会话,仅影响该用户;其他参与者不受影响
为什么有时右键没有 Kick Guest 选项?
常见原因不是权限没开,而是当前会话配置或用户状态导致功能隐藏:
- 会话启动时选择了
Read-only模式,部分版本 UI 会弱化管理入口 - 参与者尚未完成身份验证(如未登录 GitHub/Microsoft 账户),其条目可能显示为临时 ID,右键菜单受限
- 主持人本地设置了
"liveshare.allowAnonymousGuests": false,但某用户通过旧链接重连,状态异常,此时需先刷新面板(Live Share: Refresh Collaboration Panel) - 扩展版本过低(
v1.0.5800之前)存在右键菜单缺失 bug,建议升级到最新稳定版
踢人后权限不会自动回收?得手动关终端和调试
踢人只断开连接,但若被踢用户此前已获得终端写入或调试控制权,其触发的操作可能仍在后台运行——尤其是 terminal 和 debug 权限不会随连接中断而自动释放。
- 踢人后应立即检查集成终端:是否存在残留进程(如
npm run dev、python app.py) - 若启用过
Debug: Share Session,需手动停止当前调试会话(Debug: Stop Debugging),否则变量监听和断点仍对已断开用户有效 - 更稳妥的做法是,在踢人前先通过命令面板执行
Live Share: Revoke Guest Permissions(如有),再执行踢出 - 工作区级配置
"liveshare.permissions.debug": false可从源头禁用该能力,避免后续被动处理
真正容易被忽略的是:踢人不等于清理上下文。Live Share 的权限模型是“连接态 + 配置态”双驱动,断开连接只是清了前者;后者(比如已授权的终端会话、转发的本地端口)得靠主持人主动干预,否则协作环境依然存在隐性暴露面。


















