VS Code 官方不支持「实时协作房间 + 密码保护」原生功能;所谓“带密码的私密协作房间”实为第三方服务(如 Live Share)或自建方案(如 code-server + 反向代理鉴权)的组合效果,非 VS Code 本身能力。

VS Code 官方不提供「实时协作房间 + 密码保护」的原生功能。所谓“带密码的私密协作房间”,实际是第三方服务(如 Live Share)或自建方案(如 code-server + 反向代理鉴权)的组合效果,不是 VS Code 本身的能力。
Live Share 默认不支持密码,靠链接权限控制
VS Code 的 Live Share 扩展(由 Microsoft 维护)默认协作方式是生成一个一次性邀请链接,例如 https://prod.liveshare.vsengsaas.visualstudio.com/join?xxxxx。这个链接本身没有密码字段,安全性依赖于:
- 链接的随机性和长度(约 32 位 Base64 字符),无法被猜测
- 链接有效期(默认 7 天,可在
liveshare.expirationTimeInDays设置中调整) - 是否开启
liveshare.requireAuthentication—— 启用后,访客必须登录微软账户才能加入,但依然不设自定义密码
你不能在邀请链接里加密码参数,也不能在 VS Code 界面输入“房间密码”再开始共享。所谓“设密码”,本质是换一种访问控制手段,比如用 Nginx 做反向代理并启用 auth_basic,但这已脱离 Live Share 原始设计。
想真用密码,得绕过 Live Share 自建入口
如果你坚持要“输入密码才能进协作环境”,可行路径只有一条:不用 Live Share,改用 code-server 部署在服务器上,并在前端加一层 HTTP Basic Auth 或 OAuth 代理。此时“密码”是访问网页端的门槛,不是 VS Code 内部功能。
-
code-server启动时可通过--auth=password参数设置单密码(明文传参,仅适合内网) - 生产环境更推荐用 Nginx +
auth_basic,把密码存在/etc/nginx/.htpasswd里 - 注意:
code-server的密码只拦住浏览器访问,一旦进入,所有用户共用同一份 VS Code 实例 —— 它不提供用户隔离、权限分级或文件夹级访问控制
也就是说,你得到的是“一个带密码的在线 VS Code 页面”,不是“一个带密码的实时协作房间”。多人同时编辑同一文件会触发原生的并发冲突提示(类似 Git merge conflict),没有 Live Share 那种光标同步、终端共享、调试协同等能力。
settings.json 里根本没协作密码相关配置项
翻遍 VS Code 所有内置设置和 Live Share 的扩展设置,不存在形如 "liveshare.roomPassword"、"collab.password" 或 "share.authKey" 这类字段。你在 settings.json 中搜索 “password”、“auth”、“collab”、“share” 得到的全是 SSH 密钥路径、HTTP 代理凭据、或 GitHub Token 等无关项。
- Live Share 相关可配项集中在
liveshare.*命名空间下,全部围绕身份验证方式、日志级别、共享范围(是否共享终端/服务器/数据库连接)展开 - 真正影响“谁能进来”的只有
liveshare.requireAuthentication(布尔值)和liveshare.allowGuests(布尔值),没有字符串型密码字段 - 任何声称“在 settings.json 里填一行就开启协作密码”的教程,要么混淆了
code-server参数,要么在误导
别被“私密房间”这个词带偏——VS Code 的协作模型是“邀请制链接 + 身份认证”,不是“密码门禁”。如果业务场景硬性要求输入密码才能接入,就得放弃 Live Share,接受功能降级,用 code-server 搭配 Web 层鉴权来凑合实现。


















