Live Share 最小共享单位是工作区而非单文件,必须通过“Open Folder”打开目录;若仅打开单文件则共享失败或为空;可通过.vsliveshare.json配置allowList/ignore控制可见文件;协作者不会自动打开主持人当前编辑的文件,需手动预加载。

不能只分享单个文件——Live Share 的最小共享单位是工作区(folder),必须先确保当前打开的是一个文件夹,而不是孤立的文件。
为什么点“Share”没反应或只分享了空项目
VSCode Live Share 默认不支持“仅共享当前打开的文件”。它强制以 File > Open Folder 打开的目录为根,构建整个协作上下文。如果你是通过 File > Open File 直接双击打开一个 .js 或 .py 文件,状态栏会出现 Share 按钮,但点击后会失败、卡住,或生成一个不含任何项目结构的空会话。
- 确认左下角状态栏显示的是文件夹路径(如
/home/user/my-project),而不是Untitled-1或单个文件名 - 如果当前只是打开了一个文件,按
Ctrl+K Ctrl+O(Windows/Linux)或Cmd+K Cmd+O(macOS)重新选择整个项目文件夹 - 重启 VSCode 后再试——扩展有时在单文件模式下不会完全初始化 Live Share 服务
如何让协作者只看到你关心的那几个文件
Live Share 不提供“按文件筛选共享”的 UI 选项,但可通过 .vsliveshare.json 配置白名单或忽略列表,从源头控制协作者能访问的路径范围。这比事后删文件更安全、更轻量。
- 在工作区根目录新建
.vsliveshare.json,内容示例:
{
"ignore": [
"node_modules/",
".env",
"secrets.*"
],
"allowList": [
"src/",
"README.md",
"package.json"
]
}
- 配置生效需重启协作会话:先点状态栏
Stop Sharing,再重新执行Live Share: Start Collaboration Session -
allowList优先级高于ignore;未列入allowList的路径,即使没在ignore里,协作者也看不到
协作者打开链接后看不到你正在编辑的文件
这不是同步失败,而是 Live Share 默认不自动打开“你当前激活的标签页”。它只同步编辑器视图状态(光标、折叠、滚动位置),但不强制加载未被协作者本地打开过的文件。
- 作为主持人,你可以在发起会话前,先用右键点击目标文件 →
Reveal in Explorer,再双击打开它——这样该文件会进入“最近打开”列表,协作者加入后更容易定位 - 更可靠的做法:按
Ctrl+P(macOSCmd+P)唤出快速打开面板,输入文件名并回车,确保它处于已加载(not unloaded)状态 - 协作者加入后,可手动按
Ctrl+Shift+P→ 输入Live Share: Focus Participants,高亮你的光标和编辑位置,快速跟上上下文
最容易被忽略的一点:Live Share 的“共享文件”本质是共享对本地文件系统的读取权限,不是上传或镜像。一旦你删除了某个 src/utils.js,协作者那边立刻失去访问能力,且不会收到任何提示——这个行为没有撤销机制,也不进 Git 历史。所以共享前务必确认工作区结构稳定。


















