Live Share 连接性要求
本文总结了 Visual Studio Live Share 的连接要求、可用的连接选项以及已知的解决方法(如果适用)。
登录
可以使用任何 Azure Active Directory 支持的工作或学校帐户、Microsoft 帐户或 GitHub 个人资料登录 Live Share。 有一些面向公众的产品使用这些帐户的登录 URL,考虑到它们的数量,通常这些登录 URL 在大多数组织中都是开放的,但如果未开放,请与网络管理员联系,了解除了下列域之外如何开放 login.microsoftonline.com
和/或 github.com
。
注意
当前不支持本地 AD (ADFS) 帐户和本地 GitHub Enterprise 帐户(投票 )。
连接模式
为了确保最佳性能,默认情况下,Visual Studio Live Share 会自动检测协作会话主机计算机和来宾计算机是否可以直接通过网络进行通信,并且如果它们之间没有路由,则仅通过云进行中继。 这种混合的“自动”模式非常灵活,甚至允许一些来宾通过云进行中继,而其他来宾则直接连接以进行同一会话。
直接连接通过基于云的机制进行身份验证以确保安全,但需要打开 5990 和 5999 之间的端口以启用连接。 因此,首次共享时,桌面防火墙可能会提示你打开端口。 接受此项是可选的,因为忽略它只会导致 Live Share 在自动模式下始终使用中继。
Visual Studio Live Share 中的所有连接都经过 SSH 或 SSL 加密,并针对中央服务进行身份验证,以确保只有协作会话中的用户才能访问其内容。 此外,Live Share 的云中继不会保留通过它路由的任何流量,也不会以任何方式“窥探”流量。
更改连接模式
如果希望禁用直接连接或中继连接,或者只是想要解决连接问题,可以强制实施其他连接模式。
模型 | 主机行为 | 来宾行为 |
---|---|---|
Auto | 主机的协作会话接受安全的、经过身份验证的直接连接或云中继连接。 | 尝试使用直接连接,如果失败则回退到通过云中继。 |
直接 | 主机的协作会话仅接受经过身份验证的安全直接连接。 | 尝试使用直接连接,如果无法连接,则停止。 |
中继 | 主机的协作会话不允许直接连接。 主机的计算机上未打开任何端口。 | 始终通过云连接。 |
更改模式:
VS:
- 转到“工具”>“选项”>“Live Share”。
- 从“连接模式”下拉列表中选择模式。
- 重启 VS。
VS Code:
- 编辑 settings.json(“文件”>“首选项”>“设置”)。
- 根据你的偏好将
"liveshare.connectionMode"
设置为"auto"
、"direct"
或"relay"
。 - 重启 VS Code。
连接模式的要求
所使用的连接模式将规定 Live Share 运行所需的特定端口和 URL。
模型 | 客户端访问要求 | 疑难解答 |
---|---|---|
任意 | 对 *.liveshare.vsengsaas.visualstudio.com:443 的出站访问。 |
确保你的公司或个人网络防火墙允许你连接到此域。 在浏览器中输入 https://visualstudio.microsoft.com/services/live-share/ 并确保进入 Visual Studio Live Share 主页。 可能还会遇到需要解决的代理问题。 |
任何 (VS Code) | 对 download.microsoft.com:443 的出站访问。 |
确保你的公司或个人网络防火墙允许你连接到此域。 可能还会遇到需要解决的代理问题。 |
Auto | 自动切换。 参见直接模式和中继模式。 | 切换到直接模式或中继模式进行故障排除。 |
直接 | 主机:需要打开 5990 - 5999 范围内的端口以接受入站本地网络连接。 来宾:对同一端口上的主机的网络路由和出站访问。 |
验证“vsls-agent”(针对 VS)、“code”(针对 Visual Studio Code)或“code - insiders”(针对 Visual Studio Code 预览体验成员)是否没有被桌面防火墙软件阻止此端口范围,并且是否可以相互 ping 通。 虽然 Windows 和其他桌面软件应该在代理首次启动时提示你,但我们已经看到了组策略阻止这种情况发生的情况,而你需要手动添加条目。 可能还会遇到需要解决的代理问题。 |
中继 | 对 *.servicebus.windows.net:443 的出站访问。 |
确保你的公司或个人网络防火墙允许你连接到此域。 可能还会遇到需要解决的代理问题。 |
任意 | 对 *.online.visualstudio.com 的出站访问。 |
确保你的公司或个人网络防火墙允许你连接到此域。 在浏览器中输入 https://sts.online.visualstudio.com/api/swagger/index.html 并确保进入 Swagger 页面。 可能还会遇到需要解决的代理问题。 |
手动添加防火墙条目
如上所述,直接模式要求个人防火墙允许 vsls-agent、code 或 code - insiders 接受端口范围 5990-5999 中的连接。 如果要使用直接模式但发现防火墙没有 vsls-agent 项,可以手动添加。 如何执行此操作将因防火墙软件而异,但你可以在此处找到有关配置 Windows 防火墙的信息。
如果看不到 vsls-agent 项,可在以下位置之一找到代理可执行文件。
VS Code 安装位置
在 Windows、MacOS 或 Linux 上为 VS Code 或 VS Code Insiders 手动配置防火墙时,请使用 VS Code 应用安装位置的路径。
例如:Windows(默认安装位置)
%applocaldata%\Programs\Microsoft VS Code\code.exe
%applocaldata%\Programs\Microsoft VS Code Insiders\code - insiders.exe
Visual Studio 代理位置
Visual Studio 位置更为动态,但你可以按照以下步骤来查找可执行文件:
导航到 Visual Studio 安装位置。 这通常是
C:\Program Files (x86)\Microsoft Visual Studio\EDITION
,其中 EDITION 为 Community、Enterprise 等在 IDE\Extensions 子文件夹下搜索
vsls-agent.exe
。
遗憾的是,每次更新 Visual Studio Live Share 时,可能需要执行此步骤。
代理
Visual Studio Live Share 当前对代理使用存在一些限制。 虽然自动代理设置应该适用于 Windows,但在使用 macOS 或 Linux(以及与 Windows 上的某些代理配置配合使用)时,需要为 VS 全局设置 HTTP_PROXY 和 HTTPS_PROXY 环境变量,或者需要在 VS Code 的应用程序>代理设置中设置这些变量。
注意:如果未在 VS Code 的应用程序>代理设置中配置代理,则还将从 http_proxy 和 https_proxy 环境变量中继承它。
如果你的代理未自动为你设置这些设置,则可以按以下形式手动设置变量:
HTTPS_PROXY=http://proxy-ip-address:proxyport
如果你具有身份验证代理,则可以添加你的用户和密码,如下所示:
HTTPS_PROXY=http://user:password@proxy-ip-address:proxyport
如果这些设置不能解决你的问题,请告知我们你的代理设置的具体情况,以便我们看看如何改进支持。