Remote-SSH必须先成功连接远程服务器并加载项目,Live Share才能在此基础上共享真实代码和终端;若未连通,协作者将看到空白工作区。

Remote-SSH 插件是远程协作开发的起点,但仅靠它无法实现“协作”——它只解决“你一个人连服务器”,Live Share 才负责“多人实时共编”。两者必须配合使用,且顺序不能错。
Remote-SSH 必须先连通,Live Share 才能共享
Live Share 无法绕过本地 VSCode 的连接状态直接操作远程环境。如果你还没用 Remote-SSH 成功连接到目标服务器,Live Share 启动后共享的只是你本地空工作区,协作者看到的是空白文件夹,不是远程项目。
- 必须先通过
Remote-SSH: Connect to Host连上远程服务器,并成功打开远程目录(如/home/user/project) - 此时左下角显示绿色 SSH 标识,且资源管理器里列出的是远程文件树,才算准备就绪
- 再点击 Live Share 图标启动会话,协作者加入后看到的才是真实运行在远程服务器上的代码和终端
远程环境下 Live Share 的权限限制很实在
Live Share 在远程会话中默认不继承 Remote-SSH 的全部能力——比如协作者无法直接执行 Remote-SSH: Open Folder in Remote,也不能手动触发远程插件安装。所有操作都受限于当前已加载的远程工作区范围。
- 协作者只能编辑、调试、查看已打开的远程文件;不能新建远程文件夹或执行未授权的终端命令
- 远程终端(Integrated Terminal)默认以当前远程用户身份运行,但 Live Share 不转发 sudo 权限,输入密码会失败
- 如果需要协作者运行特定脚本,建议提前写好
package.json脚本或 shell 封装,再通过 Live Share 的「共享终端」功能一起看输出
远程 + Live Share 下插件行为差异要盯紧
插件是否生效,取决于它被安装在哪个位置:Remote-SSH 会在远程服务器上自动部署一份 VS Code Server,并把插件分成本地端(local)和远程端(remote)两部分加载。Live Share 只同步远程端已启用的功能。
- 像
ESLint、Prettier这类需读取远程配置的插件,必须在远程服务器上通过 VSCode 的扩展面板安装(右下角弹窗提示“Install on SSH: xxx”),而非本地安装 - 本地安装的
GitLens在 Live Share 中不可见;但若已在远程安装,协作者就能看到 blame 和 commit 历史 - 调试器(如
Python或Node.js)必须在远程安装对应扩展,且launch.json配置路径需指向远程文件系统(例如"program": "${workspaceFolder}/app.py")
真正容易被忽略的点是:Remote-SSH 的连接稳定性直接影响 Live Share 会话存续。网络抖动时,VSCode 可能自动重连 Remote-SSH,但 Live Share 不会自动恢复——协作者会掉线,且不会收到通知。建议在团队协作前,先用 ssh -o ConnectTimeout=5 user@host 测一次基础连通性,比依赖 UI 提示更可靠。


















