在 Visual Studio Code 中共享服务器或终端

在 Visual Studio Code 中将服务器或终端共享为协作会话主持人。

共享服务器

有时,协作会话主持人可能希望与来宾共享 Web 应用程序或其他在本地运行的服务器或服务。 其中可能包括其他 RESTful 终结点、数据库和其他服务器。 使用 Visual Studio Live Share 可以指定本地端口号、视需要为其命名,然后与所有来宾共享它。

然后,来宾可以在相同的端口上从自己的本地计算机访问你在该端口上共享的服务器。 例如,如果你共享了在端口 3000 上运行的 Web 服务器,那么来宾可以在 http://localhost:3000. 上从自己的计算机访问这台正在运行的同一 Web 服务器

此连接通过在主持人和来宾之间经过改进的安全 SSH 或 SSL 隧道完成,并通过该服务进行身份验证。 此连接机制可帮助确保只有协作会话中的人员具有访问权限。

提示

作为主持人,需要对与来宾共享的端口进行精挑细选。 建议使用应用程序端口(而不是共享系统端口)。 作为来宾,如果服务器/服务是在来宾计算机上运行的,则共享端口的行为完全相同。 此行为很有用,但如果共享错误的端口,则可能会有风险。

出于安全原因,只有在指定端口上运行的服务器才能供其他来宾使用。 协作会话主持人可以轻松添加一个端口。 下面介绍如何操作:

  1. Live Share 选项卡或 Live Share 资源管理器选项卡上,选择共享服务器项或按钮:

    Screenshot that shows the Share server button.

  2. 输入运行服务器的端口号。 可以选择输入一个名称:

    Screenshot that shows the port number prompt.

就这么简单! 端口上指定的服务器现在将被映射到每个来宾在同一端口上的 localhost(除非该端口已被占用)。

如果端口已在来宾的计算机上使用,则将自动选择其他端口。 作为来宾,如果在 Live Share“资源管理器”选项卡或“VS Live Share”选项卡上查看共享端口列表(按名称,如指定)。此列表位于“共享服务器”下。 如果选择某个端口,则会在浏览器中打开该服务器。 也可以右键单击并选择选项,以将服务器链接复制到剪贴板。

Screenshot that shows the Shared Servers list.

出于安全原因,来宾无法控制主持人计算机上的哪些端口是共享的。

要停止共享本地服务器,主持人可以将鼠标悬停在“共享服务器”列表中的服务器项上,然后选择“取消共享服务器”按钮:

Screenshot that shows the Unshare server button.

共享终端

新式开发人员经常使用各种命令行工具。 Live Share 允许主持人与来宾共享终端。 共享终端可以是只读模式或完全协作模式,以便你和来宾都可以运行命令并查看结果。 可以使终端输出对来宾可见。 还可以让他们运行测试或生成,甚至对只发生在你计算机上的特定于环境的问题进行会审。

默认情况下,不会共享终端,因为它们至少向来宾授予了对你运行的命令输出的只读访问权限(如果不是由他们自己运行命令的功能)。 此默认配置允许你在本地终端中运行命令,降低风险并仅在需要时共享。 并且只有主持人可以启动共享终端。 此限制可防止来宾启动共享终端,并执行一些不需要的操作。

作为主持人,你可以从 Live Share 或 Live Share 资源管理器选项卡共享终端。请选择共享终端项或按钮:

Screenshot that shows the Share terminal button.

此时,你可以选择是将终端设置为只读,还是读/写。 当终端设置为读/写时,每个人都可以向终端输入内容,包括主持人。 因此,作为主持人,你可以在来宾执行你不需要的操作时轻松进行干预。

为安全起见,只应在知道来宾实际需要时才向其授予读/写访问权限。 当你只想让来宾查看你运行的命令的输出时,建议将终端设为只读。 请记住,读/写访问权限赋予来宾与你所拥有的相同的终端访问权限。 他们可以在你的计算机上运行可以运行的任何命令。

注意

如果协作会话处于只读模式,则主持人只能共享只读终端。

Screenshot that shows the Read-only and Read/write choices for access level.

在选定你想要启动的共享终端类型后,Visual Studio Code 的“终端”选项卡中就会出现一个新的共享终端:

Screenshot that shows the Terminal tab in Visual Studio Code.

如果共享多个终端,或者如果你的焦点位于不同选项卡中,则可以通过选择“共享终端”列表中的项将焦点转移到一个终端:

Screenshot that shows the Shared Terminals list.

若要结束终端会话,输入 exit、关闭终端窗口或选择 Live Share 资源管理器选项卡或 Live Share 选项卡中的取消共享终端按钮,所有人都将断开连接。

后续步骤

有关详细信息,请查看下面几篇文章:

遇到问题? 请参阅疑难解答提供反馈