操作说明:使用 Visual Studio 进行协作
已准备好使用 Visual Studio 中的 Live Share 进行协作? 如果是的话,那么现在可以开始了! 本文逐步介绍如何使用适用于 Visual Studio 的 Visual Studio Live Share 扩展中的某些特定功能。
请注意,此处介绍的所有协作活动都涉及到一个协作会话主持人和一个或多个来宾。 主持人是发起协作会话的人,加入会话的其他人均为来宾。
提示
你知道吗,你可以加入自己的协作会话? 这样就能自己试用 Live Share 或启动 Visual Studio 或 VS Code 的实例并远程连接到它! 甚至可以在这两个实例上使用相同的标识。 试一试吧!
安装
在开始之前,需要在 Windows 7、Windows 8.1 或 Windows 10 上安装 Visual Studio 2019 或 Visual Studio 2017 15.6 或更高版本 。 但建议安装 Visual Studio 15.7 及更高版本,因为它们支持本地撤消/重做。
入门步骤很简单:
对于 Visual Studio 2019
- 安装 Visual Studio 2019 的任意版本。
- 安装支持的工作负载。 (例如 ASP.NET、.NET Core、C++、Python 和/或 Node.js)
- 系统默认为 Visual Studio Live Share 安装这些工作负载。
对于 Visual Studio 2017
- 安装 Visual Studio 2017 15.6 以上的任意版本。
- 安装支持的工作负载。 (例如 ASP.NET、.NET Core、C++ 和/或 Node.js)
- 从市场下载并安装 Visual Studio Live Share 扩展。
下载和使用 Visual Studio Live Share 即表示你同意许可条款和隐私声明。 如果遇到问题,请参阅疑难解答。
登录
若要进行协作,需要登录到 Visual Studio Live Share,以便每个人都知道你的身份。 登录操作仅出于安全考虑,并不会让你参与任何市场营销或其他调研活动。 可以使用 Microsoft 个人帐户(例如 @outlook.com)、Microsoft 支持的工作或学校帐户 (AAD) 或 GitHub 帐户登录。 登录操作很简单。
默认情况下,Visual Studio 使用你的个性化帐户,因此如果你已经登录到 Visual Studio,可能可以跳过这一步。 否则请正常登录。
如果想要使用除 Visual Studio 个性化帐户以外的登录名,请转到“工具”>“选项”>“Live Share”>“用户帐户”以切换凭据。
如果选择“外部帐户”,可以选择不受 Visual Studio 的个性化功能(如 GitHub)支持的帐户。 在第一次使用 Live Share 功能时,浏览器将自动出现,便于你完成登录。
提示
你知道可以转到“工具 > 选项 > Live Share > 常规”来查看所有默认的 Live Share 设置吗? 根据你的需求自定义协作体验! 你还可以在常规 Live Share 设置中选择“高级 > 功能 > 预览体验成员”,尝试所有新的 Live Share 功能!
如果遇到问题,请查看疑难解答,了解更多技巧。
共享项目
下载并安装 Visual Studio Live Share 后,请执行以下步骤以启动协作会话并邀请同事与你协作。
登录
现在你已登录,并且准备好启动自己的协作会话。 没有登录? 请查看登录,了解更多详细信息。
打开解决方案、项目或文件夹
使用常规工作流打开你想要与来宾共享的文件夹、项目或解决方案。
[可选] 更新隐藏的或排除的文件
Live Share 默认隐藏在 .gitignore 文件(位于来宾项目中)中引用的任何文件/文件夹。 隐藏文件可以防止它出现在文件树中,而将其排除可以阻止它被传输,即使在调试之类的操作期间也是如此。 如果要隐藏/排除其他文件,可以使用这些设置将 .vsls.json 文件添加到项目中。 有关详细信息,请参阅控制文件的访问和可见性。
启动协作会话
现在,单击右上角的“Live Share”按钮即可启动 Live Share 会话。 指向协作会话的可共享链接会自动复制到剪贴板中。
首次启动协作会话后,你将看到 Live Share 工具窗口。 务必停靠此窗口以确保在下次启动 Live Share 会话时显示此窗口。
备注
桌面防火墙软件可能会要求你允许 Live Share 代理在首次共享时打开端口。 完全可以根据需要选择是否接受这一点,但当协作者和你位于同一网络上时,接受共享就能通过安全的“直接模式”来提高性能。 有关详细信息,请参阅更改连接模式。
[可选] 启用只读模式
启动协作会话后,可以将会话设置为只读,以防止来宾编辑正在共享的代码。
共享后,你将收到一条通知,提示邀请链接已复制到剪贴板。 然后,可以选择将会话设为只读会话的选项。
向某人发送链接
通过电子邮件、Slack、Skype 等方式将链接发送给想要邀请的人。 请注意,考虑到 Live Share 会话可以为来宾提供的访问级别,只能与信任的人共享,并应充分考虑共享内容的影响。
安全提示: 想了解一些 Live Share 功能的安全性意义吗? 请查看安全性一文。
如果受邀的来宾遇到问题,可以参阅“快速入门:加入第一个会话”一文,其中详细介绍了如何以来宾身份启动和运行。
[可选] 批准来宾
默认情况下,来宾会自动加入协作会话,并且系统会在来宾准备好协作时通知你。 在此通知中,可以选择从会话中删除来宾,也可以改为选择对加入的任何人要求显式“批准”。
只需将“工具”>“选项”>“Live Share”>“需要来宾批准”更改为“True”便可启用该功能。 启用此设置后,系统会在来宾尝试加入会话时发出通知,提示你批准其加入。
请参阅邀请和加入访问,详细了解更多邀请安全注意事项。
管理你的 Live Share 会话
一旦你的访客在 VS Code 或 Visual Studio 中打开了指向你的共享会话的链接,你将在 Live Share 工具窗口的参与者下看到它们已列出。 现可在访客名称旁边看到其当前所在的文件。
通过 Live Share 工具窗口,你可以访问所有重要功能,以在一个位置管理会话。
提示
会话期间无法再看到 Live Share 工具窗口? 始终可以转到“视图 > 其他 Windows > Live Share”找到它!
结束协作会话
主持人可以通过单击共享/会话状态按钮(右上角)并选择“结束协作会话”,完全停止共享并结束协作会话。
所有来宾都会收到会话已结束的通知。 会话结束后,来宾将无法再访问内容,所有临时文件也都会被自动清除。
在共享时遇到问题? 请查看疑难解答。
加入协作会话
下载和安装 Visual Studio Live Share 后,来宾只需执行几个步骤即可加入托管的协作会话。 有两种加入方法:通过浏览器加入和手动加入。
安全提示: 加入协作会话的来宾务必了解:主持人可能会限制他人对某些文件或功能的访问权限。 想了解一些 Live Share 功能和设置的安全性意义吗? 请查看安全性一文。
通过浏览器加入
加入协作会话的最简单方式是在 Web 浏览器中打开邀请链接。 下面介绍了按照此流程操作时的情况。
登录
安装 Live Share 扩展后,将需要登录,以便其他协作者知道你的身份。 默认情况下,Visual Studio 使用你的个性化帐户,因此可以完全跳过这一步。
请参阅登录,了解更多详细信息。
单击邀请链接/在浏览器中打开邀请
现在,只需在浏览器中打开(或重新打开)邀请链接即可。
说明:如果尚未安装 Live Share 扩展,系统会显示指向扩展市场的链接。 安装扩展并重启工具,然后重试。
系统会显示一条通知,指示浏览器要启动已启用 Live Share 的工具。 如果允许浏览器启动所选工具,那么启动后你将连接到协作会话。
如果主持人处于离线状态,系统会通知你。 然后,可以联系主持人,并要求其再次共享。
备注
仍有问题? 请参阅手动加入。
协作
就这么简单!! 几分钟后,你将连接到协作会话并可以开始进行协作。
将看到“Live Share”按钮发生变化以反映“会话状态”。 请参阅下面的会话状态信息,了解具体情况。
加入完成后,你将自动转到主持人当前正在编辑的文件。
手动加入
也可以选择不使用 Web 浏览器来手动加入,手动加入适用于以下情况:想要使用的工具已在运行;想要使用不同于以往使用的工具;或出于某些原因而无法获取邀请链接。 手动加入的过程很简单:
登录
安装 Live Share 扩展后,将需要登录,以便其他协作者知道你的身份。 默认情况下,Visual Studio 使用你的个性化帐户,因此可以完全跳过这一步。
请参阅登录,了解更多详细信息。
使用加入命令
只需转到“文件”>“加入 Live Share 会话”即可
粘贴邀请链接
粘贴收到的邀请 URL 并确认。
协作!
就这么简单! 在片刻之后应该就能连接到协作会话了。
将看到“Live Share”按钮发生变化以反映“会话状态”。 请参阅下面的会话状态信息,了解具体情况。
加入完成后,你将自动转到主持人当前正在编辑的文件。
离开协作会话
来宾可以通过关闭工具或单击共享/会话状态按钮并选择“离开协作会话”来离开协作会话,而不必为其他人结束协作会话。
所有临时文件都将被自动清除,因此,无需执行任何进一步操作。
在加入时遇到问题? 请查看疑难解答。
共同编辑
来宾加入协作会话后,所有协作者将立即能够看到各自实时编辑和选择的内容。 从文件资源管理器中选取一个文件并开始进行编辑即可。 在你进行编辑时,主持人和来宾都能看到编辑内容且能够自行编辑,以便于迭代和迅速定位解决方案。
备注
加入只读协作会话可防止来宾编辑文件。 主持人可以在来宾共享时启用只读模式。 来宾可以通过查看自己的会话状态了解是否已加入只读会话。
备注
共同编辑对某些语言具有少量限制。 请参阅平台支持,看看各语言可用的功能。
处于同一文件中的所有参与者除了可以看到游标和编辑内容之外,还可以看到你选择的内容。 这便于突出显示可能存在的问题或传达想法。
更棒的是,你和其他参与者可以导航到共享项目中的任何文件。 可以共同编辑,也可以独立进行编辑,这样的话,就可以在调查、进行微调和进行完整的协作编辑之间无缝切换。
备注
默认情况下,Live Share 也会共享已共享解决方案外部的已打开文件。 若要禁用此功能,请将“工具”>“选项”>“Live Share”中的“共享外部文件”更新为“False”。
生成的编辑内容在保存时保留在主持人的计算机上,因此,在完成编辑后无需同步、推送或发送文件。 编辑内容“就在那里”。
安全提示: 由于所有参与者都可以独立导航和编辑文件,作为主持人,你可能想要在项目中限制来宾可以通过 .vsls.json 文件访问的文件。 来宾同样务必要意识到,由于这些设置,可能无法看到某些文件。 有关详细信息,请参阅控制文件的访问和可见性。
更改参与者标记行为
默认情况下,当参与者悬停光标时或在编辑、突出显示或移动其光标时,Visual Studio Live Share 将在其光标旁自动显示一个“标记”。 在某些情况下,你可能希望更改此行为。 为此,请执行以下操作:
- 转到“工具”>“选项”>“Live Share”
- 将“标志可见性”更改为下列任一选项:
选项 | 行为 |
---|---|
OnHoverOnly | 只有在悬停光标时,标记才可见。 |
OnHoverOrActivity | 这是默认设置。 标记在悬停光标时或在参与者编辑、突出显示或移动其光标时可见。 |
Always | 标记始终可见。 |
跟进
只要在协作会话中,都可以在“登录”按钮旁边的编辑器右上角看到每个参与者的首字母缩写。 将鼠标悬停在首字母缩写上,可以看到参与者的完整信息。
有时,你可能需要解释范围涉及代码中多个文件或位置的问题或设计。 在这些情况下,临时追随同事在整个项目中的操作非常有用。 为此,当你作为来宾加入协作会话时,你将自动“追随”主持人。 在追随某个参与者时,你的编辑器将保持与其当前打开的文件、光标和滚动位置同步。
备注
默认情况下,Live Share 也会共享已共享解决方案外部的已打开文件。 若要禁用此功能,请将“工具”>“选项”>“Live Share”中的“共享外部文件”更新为“False”。
为了能够从“追随模式”轻松切换并开始自行编辑,在出现以下任何情况时,你将停止追随:
- 编辑、移动光标或进行选择
- 选择其他文件
也可以随时通过单击右上角你追随的人的首字母缩写来停止追随。 表示你正在追随的参与者的首字母缩写周围的圆圈会随之消失。
可以单击同一位置上的任何首字母缩写来追随协作会话中的任何主持人或来宾。 请注意,如果你只是想跳转到某人的位置,而不是追随他们,只需双击他们的首字母缩写即可。
聚焦
有时,你可能希望协作会话中的每个人都来看一下你执行的操作。 使用 Live Share,通过通知即可让每个人都能追随你,从而追随你的操作。
只需单击右上角的会话状态/共享按钮,选择“与会者请注意”即可。
协作会话中的每个人都将收到你请求获得追随的通知
然后,当他们准备好向你聚焦时,只需单击通知中的“追随”即可。
共同调试
Visual Studio Live Share 的协作调试功能非常强大,可专门用于调试问题。 除了提供协作体验来解决问题之外,你和会话中的其他参与者还可以通过在主持人的计算机上提供共享调试会话来调查可能特定于环境的问题。
安全提示: 由于所有参与者都可以独立导航和编辑文件,作为主持人,你可能想要在项目中限制来宾可以通过 .vsls.json 文件访问的文件。 还应了解一点,控制台/REPL 访问权限意味着参与者可以在你的计算机上执行命令,因此,只能与你信任的参与者共同调试。 作为来宾,还请务必注意一点,由于这些设置,在调试程序进入某些受限的文件时,可能无法跟踪调试程序。 有关详细信息,请参阅控制文件的访问和可见性。
共同调试的操作很简单。 协作会话主持人只需通过 Visual Studio 中的常用方式即可开始调试。
在主持人一端附加调试程序后,系统也会自动向所有来宾附加调试程序。 在主持人的计算机上有一个正在运行的调试“会话”,所有参与者都被连接到该会话并具有自己的视图。
提示
如果希望更改共同调试发生的时间和方式,可以通过“工具”>“选项”>“Live Share”中的设置更改默认行为。
任何人都可以分步完成调试过程,从而实现协作者之间的无缝切换,而无需协商控制权。
备注
请参阅平台支持,了解各语言或各平台对调试功能的支持情况。
每个协作者都可以调查不同的变量、在调用堆栈中跳转到其他文件、检查变量、甚至添加或删除断点。 然后,借助共同编辑功能,每个参与的演讲者都可以跟踪其他参与者所在的位置,以便提供在同时调查问题的不同方面和协作调试之间进行无缝切换的独特功能。
备注
在只读协作会话中,来宾无法分步完成调试过程。 但是,他们仍然可以添加或删除断点并检查变量。
提示
也可以从 Visual Studio 中参与 VS Code 调试会话,反之亦然! 有关详细信息,请查看针对共同调试的 Visual Studio 说明。
自动 Web 应用共享
还有一个更出色的功能,对于 ASP.NET Web 应用项目,默认情况下如果主持人的项目配置为在调试时自动启动 Web 浏览器以连接到正在运行的 Web 应用程序,Live Share 会在每个来宾计算机上自动执行相同操作! 此操作通过一种安全的方式完成,默认情况下,远程 Web 应用程序仅在调试会话期间对来宾可用。
有关如何共享对其他项目类型和/或会话持续时间的服务器访问的信息,请参阅共享服务器。
提示
如果不喜欢浏览器的自动共享行为并希望更改此行为,可以更新“工具”>“选项”>“Live Share”中的设置。
在 Visual Studio 加入调试会话时进行更改
默认情况下,当主持人共享调试会话时,来宾将被自动附加到调试会话。 但是,在某些情况下,你可能会发现此行为具有破坏性。 幸运的是,可以执行如下操作进行更改:
- 转到“工具”>“选项”>“Live Share”
- 将“加入调试会话选项”更改为以下选项之一:
选项 | 行为 |
---|---|
自动 | 默认值。 来宾将自动加入由主持人启动的任何共享调试会话。 |
提示 | 当主持人启动某个共享调试会话时,来宾将收到一条提示,询问是否要加入该共享调试会话。 |
手动 | 来宾将需要手动加入任何调试会话。 请参阅分离和重新附加。 |
分离和重新附加
作为来宾,你可能希望暂时停止调试。 好在只需单击调试工具栏中的“停止”图标即可分离调试程序,而不会影响主持人或其他来宾。
如果你已更新设置,无法再自动附加,或者只是想稍后重新附加,可以从“选择启动项…”下拉列表中选择正在运行的所需调试会话:
然后单击它进行附加。
共享服务器
有时,作为协作会话主持人,你可能会希望与来宾共享其他本地服务器或服务。 其中可能包括其他 RESTful 终结点、数据库或其他服务器。 使用 Visual Studio Live Share 可以指定本地端口号、视需要为其命名,然后与所有来宾共享它。
然后,来宾可以在完全相同的端口上从自己的本地计算机访问你在该端口上共享的服务器。 例如,如果你共享了在端口 3000 上运行的 Web 服务器,那么来宾可以在 http://localhost:3000 上从自己的计算机访问这台正在运行的同一 Web 服务器! 这通过主持人和来宾之间的安全 SHH 或 SSL 隧道来完成,并通过服务进行了身份验证,使你能够确保只有协作会话中的人员才具有访问权限。
安全提示: 作为主持人,应谨慎选择要与来宾共享的端口,并继续共享应用程序端口(而不是共享系统端口)。 作为来宾,如果服务器/服务是在其自己的计算机上运行的,则共享端口的行为完全相同。 这很有用,但是如果共享了错误的端口,也会具有风险。
出于安全目的,只有在指定端口上运行的服务器才能供其他来宾使用。 还好,协作会话主持人可以轻松添加共享端口。 操作方法如下:
单击右上角的共享/会话状态按钮,然后选择“管理共享的本地服务器”
在出现的对话框中,单击“添加”并输入该服务器正在本地运行的端口号,输入名称,按 Enter,然后单击“确定”。
就这么简单! 端口上指定的服务器现在将被映射到每个来宾在同一端口上的 localhost(除非该端口已被占用)!
如果端口已在来宾的计算机上使用,则将自动选择其他端口。 不过,来宾可以通过单击右上角的共享/会话状态按钮并选择“查看共享的本地服务器”,来查看当前共享的端口列表(如果指定了名称,则按名称列出)。
请注意,出于安全原因,来宾无法控制要在主持人的计算机上共享哪些端口。
若要停止共享本地服务器,主持人只需单击右上角的共享/会话状态按钮(如上所示),选择“管理共享的本地服务器”,并选择相应的端口,然后单击“删除”。
共享终端
新式开发经常使用各种命令行工具。 使用 Live Share 可以作为主持人根据需要与来宾“共享终端”。 共享终端可以是只读模式或完全协作模式,以便你和来宾都可以运行命令并查看结果。 可以为来宾提供对终端输出的可见性,或让他们亲身体验并运行测试、版本,甚至对在你的计算机上出现的特定于环境的问题进行会审。
但是,默认情况下,不会共享终端,因为它们至少向来宾授予了对你运行的命令输出的只读访问权限(如果不是由他们自己运行命令的功能)。 这样一来,就可以在本地终端毫无风险地运行命令,并且只在确实需要共享时才进行共享。 此外,只有主持人才能启动共享终端,这可以防止来宾启动某个共享终端并执行一些不应执行的操作。
作为主持人,可以通过单击右上角的会话状态/共享按钮,并在“共享终端”菜单项中选择一项来共享终端。
此时,可以从菜单中选择只读或读/写终端。 当终端为读/写状态时,所有人(包括主持人)都可以在终端中键入内容,如果来宾执行一些不合适的操作,将很容易造成干扰。 但是,为了安全起见,应只在确定来宾确实需要读/写权限时才向其授予该权限,并只在你想要来宾查看你运行的任何命令输出的情况下继续使用只读终端。
备注
如果协作会话处于只读模式,则主持人只能共享只读终端。
选定你想要启动的共享终端类型后,会对具有正确权限的所有参与者显示一个新的共享终端。
若要结束终端会话,只需键入 exit 或关闭终端窗口,所有人都将断开连接。
会话状态
启动或加入协作会话并具有对共享内容的访问权限后,右上角的“Live Share”按钮将更新其外观,以反映活动协作会话的状态。
下面是通常会看到的状态:
状态 | Button | 描述 |
---|---|---|
非活动 | ![]() |
没有处于活动状态的协作会话且没有共享任何内容。 |
主持人:正在进行共享 | ![]() |
协作会话正在启动,将很快开始共享内容。 |
主持人:共享 | ![]() |
协作会话处于活动状态且正在共享内容。 |
主持人:共享处于只读状态 | ![]() |
正在共享只读协作会话。 |
来宾:正在加入会话 | ![]() |
正在加入现有协作会话。 |
来宾:已加入 | ![]() |
已加入并已连接到活动协作会话且正在接收共享内容。 |
来宾:已加入只读会话 | ![]() |
已加入并已连接到处于活动状态的只读协作会话。 |
来宾限制
目前,虽然来宾在使用上述功能时会遇到一些问题,但协作会话主持人仍保留其所选工具的完整功能。 有关详细信息,请参阅以下主题:
后续步骤
有关详细信息,请查看下面几篇文章。