开始使用 Code With Me
使用 GoLand,您可以使用 Code With Me 插件与他人共享本地运行的项目。
您可以使用 Code With Me 进行实时协作、编辑代码、共享服务器以及运行调试会话。 查看以下视频可快速了解会话内容:
Code With Me 共享会话涉及 host 与一个或多个 guest 之间的交互。
您可以通过以下基本场景之一开始会话:
您可以进行结对编程,在这种情况下,您将 IDE 共享给一位参与者,并选择使用 Full sync 模式,或互相 跟随 ,以协作编辑不同的代码部分。 与传统结对编程(开发者共享同一屏幕和键盘)不同,您可以独立工作,更快实现目标。
您可以创建教师与学生的场景,其中有多位参与者跟随您操作。 例如,您需要讲解一个问题,并向团队成员展示项目的不同部分。 您可以通过 Force Others to Follow You 模式实现这一点。
您可以与其他参与者同时编辑代码。 在这种情况下,参与者可以快速修改代码,甚至同时操作项目中的其他文件。 不过,同时可主动输入的参与者数量有限。 最多允许 5 人同时输入,如达上限,GoLand 会弹出提示,建议等待。 此外,可能会对性能造成影响。
我们准备了一段简短的视频教程,介绍如何开始使用 Code With Me:
Code With Me 许可证
Code With Me 提供多种订阅方式,您可以在 JetBrains 网站上选择。
如果您拥有有效的 GoLand 或其他 IDE 订阅(DataGrip 和 Rider 除外),则无需单独的 Code With Me 许可,因为插件许可已包含在 IDE 许可中。
在某些场景下,您可能需要手动激活 Code With Me 许可:
您拥有有效的 IDE 或离线激活码,许可应自动应用于 Code With Me 插件。 但如果您仍遇到激活问题,请 显式 激活许可。
您拥有 Code With Me 商业许可,且公司使用 JetBrains 浮动许可服务器(FLS)。 在此情况下,您可以按照激活 GoLand 许可的方式 激活许可。
贵公司将 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。
添加服务器地址并点击 激活。

The status of the Code with Me plugin changes to 活动.
使用 lobby 服务器管理商业许可证
从公司负责人处获取 lobby 服务器 URL。
按 Ctrl+Alt+S 打开设置,然后选择 。
在 大厅服务器URL 字段中指定您从系统管理员处获取的 lobby 服务器地址,然后点击 确定 保存更改。

作为主机开始使用
您可以创建链接,邀请其他人参与代码协作,您的计算机会作为主机。 您还可以启动调试会话,并共享其状态及操作。
创建会话
请确保已 启用Code With Me 插件。
在主工具栏中,点击
。
或者,您也可以在主菜单中选择 。
GoLand 将打开 Code With Me 对话框。

在 Code With Me 对话框中,点击 启动会话。
GoLand 会为会话生成一个链接。
请确保您已为来宾分配了所需的访问权限。 只读 权限为默认设置,您可以通过 下拉列表 更改为其他选项。
点击 复制链接。
将链接发送给来宾。 来宾点击链接后,浏览器将打开邀请页面,允许其加入会话。

当访客点击 加入会话 时,GoLand 会显示一个弹窗,建议接受或拒绝该访客。 请确认您与访客的验证码是否一致。

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

GoLand 将终止会话并禁用所有访客。 该链接也将被禁用,您需要创建新的链接以开始新的会话。
访问主机设置
在主工具栏中,点击 Code With Me 图标(
)。
点击
,然后在打开的列表中选择 设置。
权限
作为主机,您可以配置新访客在您的计算机上可以访问或无法访问的内容。 例如,您可以指定访客是否可以编辑文件、使用终端以及执行代码。 权限可以在整个会话中配置,也可以针对会话中的特定访客进行配置。
在会话期间的任何时间,访客都可以向主机 请求额外权限。
添加权限
在主工具栏中,点击
,然后点击权限下拉菜单。

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

您可以排除某些文件不被访问。
点击 管理隐藏的文件… ,位于 文件访问权限 字段下方,在 隐藏文件 对话框中添加要排除访问的文件,然后点击 确定。
完全访问 :选择此权限可授予访客对您计算机上所有文件、终端和运行操作的完全访问权限。

自定义… :选择此权限可自定义访客对文件、终端和运行操作的访问权限。
当您打开 自定义权限 对话框时,与权限相关的选项将重复先前所选权限中的选项。 您可以根据需要更改它们并点击 保存。

配置权限后,如果您正在创建会话,请点击 启动会话。
音频和视频通话
与同事协作时,您可以在会话中聊天、使用音频和视频通话、启用屏幕共享以及转发端口。
会话开始后, 会在主工具栏中显示,您可以使用它发起语音通话。
在会话期间,您可以管理语音通话、摄像头和屏幕共享。
从主工具栏管理通话
点击主工具栏中的
打开可用选项列表,并选择所需选项。

您可以静音或取消静音麦克风、启用或禁用屏幕共享、摄像头,并打开 通话 工具窗口。
您也可以在 通话 工具窗口中控制通话和摄像头。
从 Code With Me 工具窗口管理语音通话
在右侧工具栏中,点击
打开 Code With Me 工具窗口。
如果工具窗口被隐藏,请点击主工具栏中的
并选择 在窗口中显示通话。

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

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

您的屏幕会与会话中的其他参与者共享。 如果想要停止屏幕共享,请再次点击该图标。
如果您正在进行 Web 或数据库项目,您可以在会话期间将本地计算机上的某个端口授予访客访问权限。
端口转发通过 RD 协议 实现。 主机与访客之间的连接采用 TLS 1.3 的端到端加密。
客户端与主机之间有三种通信模式。 通信模式会按以下优先级顺序自动设置: 直连>点对点>中继。 如果某种模式失败,将选择下一个模式。
转发端口
从主菜单中选择 打开 Code With Me 工具窗口。
在 Code With Me 工具窗口中,选择 端口转发 选项卡。
点击
添加端口。
指定要使用的端口和协议。
在访客端,该端口将添加到 端口转发 选项卡中的 Code With Me 工具窗口中,访客便可访问该端口。
以来宾身份开始使用
作为访客,您可以在已创建的会话期间跟随主机,并编辑主机正在处理的代码。 您还可以跟随其他会话参与者,并访问项目的其他部分。 此外,如果您拥有相应的 权限 ,还可以在主机的计算机上运行并调试代码,并在 Terminal 工具窗口中进行操作。
接受邀请
离开会话
在主工具栏中,点击
。
在打开的对话框中,点击 离开会话。

会话终止,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 Runtime:
~/Library/Caches/JetBrains/JetBrainsClientDist~/Library/Caches/JetBrains/CodeWithMeClientDist%LOCALAPPDATA%\JetBrains\JetBrainsClientDist%LOCALAPPDATA%\JetBrains\CodeWithMeClientDist~/.cache/JetBrains/JetBrainsClientDist~/.cache/JetBrains/CodeWithMeClientDist
在共享会话中协作
创建共享会话并接受所有邀请参与者后,编辑器中将出现其他插入点,主工具栏将显示访客图标,并且带有语音通话和聊天支持的 Code With Me 工具窗口将变为可用。
在共享会话中,您可以尝试不同操作,例如:独立浏览主机项目、跟随其他参与者、使用 terminal 工具窗口、编辑代码、向主机请求额外权限等。
关注参与者
在主工具栏中,点击
。
在打开的列表中,选择您要跟随的参与者名称,并选择 关注。
或者,在主工具栏中点击该参与者的图标。
GoLand 会将您的插入点定位到所跟随参与者的插入点处,并在编辑器周围显示一个带有参与者姓名的小标签的边框。
点击姓名旁边的 停止 以取消跟随该参与者。 您可以随时点击 恢复 重新跟随该参与者。
可以有多个参与者正在跟随其他参与者。 当其中一个跟随者选择切换焦点时,不会影响主机。 此功能对于教师与学生的场景非常有帮助。
强制所有人关注您
在主工具栏中,点击
。
在打开的列表中,选择您的个人资料,并 让所有用户关注自己。

在这种情况下,所有访客的插入点将位于主机插入点之上,当主插入点切换到项目其他文件时,焦点也将随之切换。
个人资料图标指示被跟随者和跟随者身份。 参与者可随时停止跟随主插入点。
跳转到其他参与者
在主工具栏中,点击
。
在打开的列表中,点击参与者姓名并选择 跳转至。
或者,在主工具栏中右键点击参与者的图标,并选择相同选项。

插入点将定位到所选访客插入点所在的行上。 如果您希望快速定位某位参与者的插入点,此功能将非常有用。
使用结对编程模式
在主工具栏中,点击
。
在打开的列表中,选择一位参与者的姓名并点击 结对编程模式。
或者,在主工具栏中右键点击参与者的图标,并选择相同选项。

插入点将位于主机的插入点之上。 GoLand 会在主机和访客的编辑器上加边框,表示对编程模式已启用。
即使插入点切换到项目的其他部分,焦点仍保持在主机插入点。 此模式通常用于结对编程场景。
终止特定用户的共享会话
在主工具栏中,点击
。
在打开的列表中,点击您要终止其会话的参与者姓名,并选择 移除访客。
或者,在主工具栏中右键点击参与者的图标,并选择相同选项。

GoLand 会为所选参与者终止会话,并在访客端显示通知。 GoLand 会关闭访客的项目和 IDE 会话。
如果访客希望重新加入共享会话,则需要等待主机的允许。
收集当前来宾的日志
在主菜单中,选择 帮助 | 收集主机和客户端日志。

GoLand 会在您的本地计算机上生成一个日志文件。 日志文件包含当前项目的文件名、部分代码,以及访客操作的详细信息,如光标移动、键入字符、调用的操作、打开的文件、文件路径等内容。
收集会话中的所有日志
在主工具栏中,点击
。
在打开的列表中,点击
并选择 提交问题(I)…。

在打开的对话框中,点击 确定 以确认数据收集。

收集日志详细信息后,这些信息将自动附加到 YouTrack system 中新创建的议题上。
请求权限
默认情况下,作为访客的您将获得 只读 权限。 这意味着在会话期间,您无法编辑文件、添加代码或在终端中操作。 每当您尝试执行无权限的操作时,GoLand 都会显示相应的通知。 您可以点击通知中的链接,向主机请求其他权限。
请求编辑文件权限
开始编辑文件。 出现通知时,点击 请求编辑文件 链接。
由此,主机将收到通知,并可以授予或拒绝相关权限。

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

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