开始使用 Code With Me
在 WebStorm 中,您可以使用内置 Code With Me 插件与他人共享本地运行的项目。
您可以使用 Code With Me 进行实时协作、编辑代码、共享服务器以及运行调试会话。 请查看以下视频,快速了解会话内容:
Code With Me 共享会话涉及 主持人 与一个或多个 访客 之间的交互。
您可以通过以下基本场景之一开始会话:
您可以进行结对编程,在此情况下,您与一位参与者共享 IDE,并使用 完全同步 模式,或 彼此跟随 ,在代码的不同部分协作。 与传统结对编程(开发者共享单一屏幕和键盘)不同,您可以独立工作,更快捷地实现目标。
您也可以使用教师与学生的场景,在该模式中,多个参与者将会跟随您。 例如,您需要解释一个问题,并向团队成员展示项目的不同部分。 您可以使用 强制他人跟随您 模式实现此目标。
您可以与其他参与者同时编辑代码。 在此情况下,参与者可以快速更改代码,甚至可以同时在项目的其他文件上工作。 但存在参与者可同时输入的数量限制。 限制为 5 人,若达到该限值,WebStorm 将会弹出提示,建议稍候。 此外,系统性能可能会受到影响。
我们准备了一段简短的视频教程,介绍如何开始使用 Code With Me:
Code With Me 许可
Code With Me 提供多种订阅方案,您可以在 JetBrains 网站上选择。
如果您拥有有效的 WebStorm 订阅或其他 IDE 订阅(DataGrip 和 Rider 除外),则无需单独的 Code With Me 授权,因为该功能已包含在 IDE 授权中。
在以下几种情况下,您可能需要手动激活 Code With Me 授权:
您有一个处于活动状态的 IDE 或离线激活码,许可证应会自动应用于 Code With Me 插件。 但是,如果您仍然遇到激活问题,请 手动激活许可证。
您拥有商业版 Code With Me 许可证,并且您的公司使用 JetBrains 浮动许可证服务器(FLS)。 在此情况下,您可以像激活 WebStorm 许可证一样 激活许可证。
您的公司将商业版 Code With Me 许可证部署在内部 lobby 服务器上。 在此情况下,您需 手动激活许可证,并额外指定 lobby 服务器地址。
激活个人许可
从 JetBrains 网站获取许可证。
在主菜单中,转到 。
在 许可证 对话框中,选择 Code With Me。
在右侧选项中,选择 激活新许可证(A)。
根据您的 IDE 类型,选择 JetBrains Account(A)。

输入您的身份凭据并单击 登录 JetBrains 账户。
使用 Floating License Server 激活商业许可
向您公司中负责人员获取许可证服务器 URL。
在主菜单中,转到 。
在 许可证 对话框中,选择 Code With Me。
在右侧选项中,选择 激活新许可证(A)。
在右侧选项中,选择 License server。

添加服务器地址并单击 激活。

Code with Me 插件状态变为 激活。
使用 Lobby Server 管理商业许可
请向贵公司负责人员获取 lobby 服务器的 URL。
按下 Ctrl+Alt+S 打开设置,然后选择 。
在 大厅服务器URL 字段中指定从系统管理员处获得的 lobby 服务器地址,然后点击 确定 以保存更改。

以主机身份开始使用
您可以创建链接,邀请其他参与者协作编写代码,您的计算机将作为主机。 您还可以开始调试会话,并共享其状态与操作。
创建会话
请确保在设置中启用了 Code With Me 插件。 按下 Ctrl+Alt+S 打开设置,然后选择 。 点击 已安装 标签页。 在搜索字段中键入 Code With Me。 有关插件的更多信息,请参阅 管理插件。
在主工具栏中点击
。

另外,您也可以通过主菜单选择 。
WebStorm 会打开 Code With Me 对话框。

在 Code With Me 对话框中,点击 启动会话。
WebStorm 会为该会话创建一个链接。

请确保您为来宾设置了所需的访问权限。 默认权限为 只读 ,但您可以从 下拉列表 中选择其他选项进行更改。

点击 复制链接。
将链接发送给来宾。 当来宾点击链接时,其浏览器会打开邀请页面,以便加入会话。

当来宾点击 加入会话 时,WebStorm 会显示一个弹窗,提示您是否接受该来宾。 请确认您与来宾的验证码是否匹配。

点击 接受。 来宾加入您的会话后,您可以开始协作。 您将在编辑器中看到一个额外的插入符号,并在主工具栏上看到表示活跃来宾的图标。
终止活动会话
在主工具栏中,点击 Code With Me 图标(
)。
在打开的列表中,选择 结束会话。

WebStorm 将终止会话并禁用所有来宾。 该链接也将被禁用,您需要创建一个新链接以开始新会话。
访问主机设置
在主工具栏中点击 Code With Me 图标(
)。
点击
,在打开的列表中选择 设置。

权限
作为主机,您可以配置来宾在您的计算机上可以或不可以访问的内容。 例如,您可以指定来宾是否可以编辑文件、使用终端以及执行代码。 权限可应用于整个会话,也可以针对会话中的特定来宾进行配置。
在会话期间的任何时间,来宾都可以向主机 请求额外权限。
添加权限
在主工具栏中,点击
并点击权限下拉菜单。

在 创建会话 时,将默认选中 只读 选项。
在 权限 列表中,您可以选择以下选项:
只读 :此权限为默认值,允许来宾以只读方式访问文件、终端和运行操作。 但来宾仍然可以从编辑器中复制并粘贴代码。
编辑文件 :如果您希望来宾仅能编辑文件而无法访问终端或执行代码,请选择此权限。

您可以排除某些文件的访问权限。
点击 管理隐藏的文件… ,位于 文件访问权限 字段下方,在 隐藏文件 对话框中添加您想排除访问的文件,然后点击 确定。

完全访问 :选择此权限可授予来宾对您计算机上的所有文件、终端和运行操作的完全访问权限。

自定义… :选择此权限可以自定义来宾对文件、终端和运行操作的访问。

打开 自定义权限 对话框后,与权限相关的选项将会沿用之前所选权限的选择。 您可以相应地进行更改并点击 保存。

配置完权限后,若您正在创建会话,请点击 启动会话。
音频和视频通话
与同事协作时,您可以在会话中聊天、使用音频和视频通话、启用屏幕共享并转发端口。
会话开始后, 会在主工具栏中可用,您可以使用它发起语音通话。

在会话过程中,您可以管理语音通话、摄像头及屏幕共享。
通过主工具栏管理通话
点击主工具栏中的
打开可用选项列表,并选择所需项。

您可以静音或取消静音麦克风、启用或禁用屏幕共享和摄像头,并打开 通话 工具窗口。
您还可以在 通话 工具窗口中控制通话和摄像头。
从 Code With Me 工具窗口管理语音通话
在右侧工具栏中,单击
可打开 Code With Me 工具窗口。

如果工具窗口已隐藏,请单击主工具栏中的
,然后选择 在窗口中显示通话。

使用窗口底部的控制面板执行所需操作。

通过“自定义工具栏”管理通话操作
您可以访问可添加到主工具栏的通话操作。 您还可以更改工具栏操作图标并从工具栏中移除操作。
右键单击主工具栏并选择 自定义工具栏。
从可用选项中选择 。
打开 Code With Me 通话操作 节点并选择要更改的操作。 单击 确定 以保存更改。 有关自定义工具栏的更多信息,请参阅 配置主工具栏操作。
与来宾共享您的屏幕
请确保您正在与其他参与者进行 通话。
在主工具栏中,单击
,选择 在浏览器中启用屏幕共享
并指定共享来源 — 特定窗口或整个屏幕。

您的屏幕将与会话中的其他参与者共享。 如果您想停止屏幕共享,请再次单击同一图标。
如果您从事 Web 或数据库项目,则可以在会话期间允许访客访问本地计算机上的端口。
端口转发是通过 RD 协议 实现的。 主机与访客之间的连接通过 TLS 1.3 实现端到端加密。
客户端与主机之间有三种通信模式。 模式将按以下优先顺序自动设置: Direct > Peer-to-Peer > Relay。 如果一种方式失败,将使用下一种。
端口转发
在主菜单中,选择 以打开 Code With Me 工具窗口。
在 Code With Me 工具窗口中,选择 端口转发 选项卡。
单击
以添加端口。
指定要使用的端口及其协议。

在访客端,端口将添加到 端口转发 选项卡中的 Code With Me 工具窗口中,访客可以访问该端口。

以来宾身份开始使用
作为访客,您可以在创建的会话期间跟随主机并编辑主机正在处理的代码。 您还可以跟随其他会话参与者并访问项目的其他部分。 此外,您还可以在主机计算机上运行和调试代码,并在拥有相应 权限 的情况下在 终端 工具窗口中工作。
接受邀请
离开会话
在主工具栏中,单击
。
在打开的对话框中,单击 离开会话。

会话被终止,IDE 将关闭。 您可以使用相同链接快速返回同一会话,无需主机重新批准。
来宾 Code With Me 设置位置
作为访客配置完 Code With Me 后,您可以查看以下位置以确定 Code With Me 的分发内容、日志、设置和缓存在文件系统中的位置:
Code With Me 日志:
~/Library/Logs/JetBrains/<product><version>/frontend%LOCALAPPDATA%\JetBrains\<product><version>\log\frontend~/.cache/JetBrains/<product><version>/log/frontendCode With Me 缓存:
~/Library/Caches/JetBrains/<product><version>/frontend%LOCALAPPDATA%\JetBrains\<product><version>\frontend~/.cache/JetBrains/<product><version>/frontendCode With Me 设置:
~/Library/Application\Support/JetBrains/<product><version>%APPDATA%\Roaming\JetBrains\<product><version>\~/.config/JetBrains/<product><version>Code With Me 分发内容及 JetBrains 运行时:
~/Library/Caches/JetBrains/JetBrainsClientDist~/Library/Caches/JetBrains/CodeWithMeClientDist%LOCALAPPDATA%\JetBrains\JetBrainsClientDist%LOCALAPPDATA%\JetBrains\CodeWithMeClientDist~/.cache/JetBrains/JetBrainsClientDist~/.cache/JetBrains/CodeWithMeClientDist
在共享会话中协作
共享会话创建并所有受邀参与者被接受后,编辑器将显示额外的光标,主工具栏将显示访客图标,并启用包含语音通话与聊天支持的 Code With Me 工具窗口。

在共享会话中,您可以尝试多种操作,例如独立浏览主机项目、跟随其他参与者、使用终端工具窗口、编辑代码、向主机请求附加权限等。
关注参与者
在主工具栏中,单击
。
在打开的列表中,选择要跟随的参与者姓名,然后选择 关注。

或者,在主工具栏中单击该参与者的图标。
WebStorm 会将您的光标定位在该参与者的光标上方,并在编辑器周围显示带有其姓名的小标签。

单击 停止 取消跟随该参与者。 您可以随时单击 继续 再次跟随该参与者。
可以同时有多个参与者跟随其他参与者。 当某个跟随者决定切换焦点时,这不会影响主机。这在教师与学生的使用场景中尤为有用。 这在教师与学生的使用场景中非常有用。
强制所有人关注您
在主工具栏中,单击
。
在打开的列表中,选择您的个人资料,然后 让所有用户关注自己。

在这种情况下,所有访客的插入点都位于主机之上,并且如果主插入点位于项目的其他文件中,焦点将随之切换。

个人资料图标指示被跟随者与跟随者。 参与者可以随时停止跟随主插入点。
跳转至其他参与者
在主工具栏中,单击
。
在打开的列表中,点击参与者的姓名并选择 跳转至。

或者,在主工具栏中右键点击参与者的图标并选择相同选项。

插入点将放置在所选访客插入点所在的行上。 如果您希望快速定位某个参与者的插入点,这可能会很有帮助。
使用结对编程模式
在主工具栏中,单击
。
在打开的列表中,选择某位参与者的姓名并选择 结对编程模式。
或者,在主工具栏中右键点击参与者的图标并选择相同选项。

插入点将放置在主机插入点之上。 WebStorm 会在主机和访客的编辑器周围添加边框,以表明正在使用对等编程模式。

即使插入点位于项目的其他部分,焦点也会保持在主机插入点中。 该模式通常用于对等编程场景中。
终止特定用户的共享会话
在主工具栏中,单击
。
在打开的列表中,点击要终止会话的参与者姓名并选择 移除访客。
或者,在主工具栏中右键点击参与者的图标并选择相同选项。

WebStorm 会终止所选参与者的会话并在访客端显示通知。 WebStorm 会随会话一起关闭访客项目和 IDE。
如果访客希望返回共享会话,则需等待主机的加入许可。
收集当前访客的日志
从主菜单中选择 帮助 | 收集主持人和客户端日志。
WebStorm 会在您的本地计算机上创建一个日志文件。 日志文件包含当前项目的文件名、部分代码以及访客活动的详细信息,例如插入点移动、输入的符号、调用的操作、打开的文件、文件路径等。
收集会话中的所有日志
在主工具栏中,单击
。
在打开的列表中,单击
并选择 提交问题(I)…。

在打开的对话框中,单击 确定 以批准数据收集。

收集完日志详细信息后,这些信息会自动附加到 YouTrack 系统 中新创建的问题中。
请求权限
默认情况下,作为访客,您将被授予 只读 权限。 这意味着在会话期间,您无法编辑文件、添加代码或在终端中工作。 每当您尝试执行无权限的操作时,WebStorm 都会显示相应通知。 您可以单击通知中的链接以请求主机授予额外权限。
请求编辑文件权限
开始编辑文件。 当出现通知时,单击 请求编辑文件 链接。

由此,主机会收到通知,并可以选择授予或拒绝权限。

如果权限被授予,访客可以编辑文件,并且其权限会在主机端同步更新。 主机可以在会话期间随时更改权限。 在主机主菜单中,选择访客姓名并从选项列表中选择 权限 ,然后在 编辑权限 对话框中相应更新权限。
要在终端中工作、运行应用程序或调试代码,您需要具有完全访问权限。
请求完全访问权限
当您尝试访问需要完全访问权限的操作时,将出现相应通知。 例如,终端访问权限。

单击 请求完全访问权限 链接。
由此,主机会收到通知,并可以选择授予或拒绝权限。
如果权限被授予,整个终端将被打开并共享。 访客可以访问所有打开的选项卡并创建新选项卡。
主机可以在会话期间随时更改权限。 右键点击访客姓名并从选项列表中选择 权限。 在 Permissions for <guest_name> 窗口中,相应更新权限。
更改会话名称或会话服务器的 URL
您可以使用 Code With Me 设置更改已创建会话的默认名称。
您还可以更改用于会话的 lobby 服务器的 URL。 出于安全目的,将其切换为自己公司的服务器可能会更有用。
访问 Code With Me 设置
从主菜单中选择 设置 | 工具 | Code With Me
在 用户名 字段中输入您的新会话名称。 会话名称将在重启后更改。 单击 使用系统名称 将会把会话名称重置为默认名称。
您可以在 大厅服务器URL 字段中更改默认服务器 URL。
单击 确定 保存更改。
