开始使用 Code With Me
借助 PyCharm,您可以使用 Code With Me 插件,与任何人共享您在本地运行的项目。
您可以使用 Code With Me 进行实时协作、编辑代码、共享服务器以及运行调试会话。 请观看以下视频,快速了解会话:
一次 Code With Me 共享会话涉及 主机 与一个或多个 访客 之间的交互。
您可以根据以下基本场景之一开始会话:
您可以进行结对编程,此时您将 IDE 与单个参与者共享,并可使用 完全同步 模式,或相互 跟随 ,在代码的不同部分进行协作。 与传统的共享单个屏幕和键盘的结对编程不同,您可以独立工作,更快达成目标。
您可以采用教师—学生场景,让多名参与者跟随您。 例如,您需要讲解一个问题,并向团队成员展示项目的不同部分。 您可以通过 强制其他人跟随您 模式来实现。
您可以与其他参与者同时编辑您的代码。 在这种情况下,参与者可以快速更改代码,甚至同时处理项目中的其他文件。 但是,同时可主动输入的参与者数量有限。 限制为 5,达到该限制时,PyCharm 会显示一个弹出窗口,提示等待。 此外,这可能会导致性能下降。
我们准备了一段简短的视频教程,介绍如何开始使用 Code With Me:
Code With Me 许可证
Code With Me 提供不同类型的订阅,您可以在 JetBrains 网站上选择。
如果您拥有有效的 PyCharm 订阅或其他 IDE 订阅(DataGrip 与 Rider 除外),则无需单独的 Code With Me 许可证,因为它已包含在 IDE 的许可证中。
如果您使用未订阅的 PyCharm,其中也包含 Code With Me 许可证的免费版。
Code With Me 许可证的免费版与 Ultimate 版在允许的来宾人数以及 Code With Me 会话的时长限制方面有所不同。
在以下几种情况下,您可能需要手动激活 Code With Me 许可证:
您拥有有效的 IDE 许可证或离线激活码,您的许可证应自动应用到 Code With Me 插件。 但是,如果激活仍有问题,请 显式 激活许可证。
您拥有商业版 Code With Me 许可证,并且公司使用 JetBrains 浮动许可证服务器(FLS)。 在这种情况下,您可以按照激活 PyCharm 许可证的相同方式 激活许可证。
您的公司将商业版 Code With Me 许可证部署在内部大厅服务器上。 在这种情况下,您需要 手动 激活许可证,并另外指定大厅服务器地址。
激活个人许可证
从 JetBrains 网站获取许可证。
在主菜单中,转到 。
在 许可证 对话框中,选择 Code With Me。
在右侧的选项中,选择 激活新许可证(A)。
根据您所使用的 IDE,选择 JetBrains Account(A)。
输入您的凭据,然后点击 登录 JetBrains 账户。

使用浮动许可证服务器激活商业许可证
从公司内的相关负责人处获取许可证服务器 URL。
在主菜单中,转到 。
在 许可证 对话框中,选择 Code With Me。
在右侧的选项中,选择 激活新许可证(A)。
在右侧的选项中,选择 许可证服务器。

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

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

在 Code With Me 对话框中,点击 启动会话。
PyCharm 会为该会话创建一个链接。
请确保您已为访客设置了预期的访问权限。 只读 权限为默认设置,但您可以从 下拉列表 中选择其他选项进行更改。
点击 复制链接。
将该链接发送给访客。 当访客点击该链接时,其浏览器会打开邀请页面,允许其加入会话。

当访客点击 加入会话 时,PyCharm 会显示一个弹出窗口,提示接受或拒绝该访客。 请核对您与访客的验证码是否一致。
点击 接受。 访客将加入您的会话,您可以开始协作。 您将在编辑器中看到一个额外的光标,并在主工具栏上看到一个图标,表示活动的访客。
终止活动会话
在主工具栏,点击 Code With Me 图标(
)。
从打开的列表中,选择 结束会话。

PyCharm 将终止会话并禁用所有访客。 该链接也会被禁用,您需要创建一个新链接以开始另一个会话。
访问主机设置
在主工具栏,点击 Code With Me 图标(
)。
点击
,并在打开的列表中选择 设置。
权限
作为主机,您可以配置新访客在您的计算机上可访问或不可访问的内容。 例如,您可以指定访客是否可以编辑文件、使用终端以及执行代码。 权限可以针对整个会话进行配置,也可以针对会话中的特定访客进行配置。
在会话期间的任何时间,访客可以 请求其他权限。
添加权限
在主工具栏,点击
,然后点击权限下拉列表。
当您 创建会话时,将选择默认选项 只读。
在 权限 列表中,您可以选择以下选项:
只读 :此权限为默认设置,允许访客对文件、终端和运行操作进行只读访问。 不过,访客仍然可以从编辑器中复制和粘贴代码。

编辑文件 :如果您希望访客只能编辑文件,而不能访问终端或执行代码,请选择此权限。

您可以将某些文件排除在访问范围之外。
在 文件访问权限 字段下点击 管理隐藏的文件… ,并在 隐藏文件 对话框中,添加要排除访问的文件,然后点击 确定。

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

自定义… :选择此权限,可自定义访客对文件、终端和运行操作的访问。
当您打开 自定义权限 对话框时,与权限关联的选项将沿用之前所选权限中的设置。 您可以相应更改这些设置,然后点击 保存。

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

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

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

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

您的屏幕将与会话中的其他参与者共享。 如需停止屏幕共享,请再次点击同一图标。
如果您正在处理 Web 或数据库项目,可以在会话期间向访客开放本机上的某个端口。
端口转发通过 RD protocol 实现。 主机与访客之间的连接是 使用 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 运行时:
~/Library/Caches/JetBrains/JetBrainsClientDist~/Library/Caches/JetBrains/CodeWithMeClientDist%LOCALAPPDATA%\JetBrains\JetBrainsClientDist%LOCALAPPDATA%\JetBrains\CodeWithMeClientDist~/.cache/JetBrains/JetBrainsClientDist~/.cache/JetBrains/CodeWithMeClientDist
在共享会话中工作
创建共享会话并接受所有受邀参与者后,编辑器中将出现额外的光标,主工具栏将显示访客的图标,带有语音通话与聊天支持的 Code With Me 工具窗口也将可用。

在共享会话中,您可以尝试多种操作,例如独立浏览主机的项目、跟随其他参与者、使用终端工具窗口、进行代码编辑、向主机请求其他权限等。
跟随参与者
在主工具栏,点击
。
从打开的列表中,选择您要跟随的参与者的名称,并选择 关注。
或者,在主工具栏,点击参与者的图标。
PyCharm 会将您的光标置于该参与者的光标之上,并在编辑器周围加上边框,带有显示您正在跟随的参与者姓名的小标签。

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

在这种情况下,所有访客光标都会置于主机之上,如果主光标位于项目的其他文件中,焦点将发生切换。

头像图标会指示被跟随者和跟随者。 参与者可在任何时间停止跟随主光标。
跳转到另一位参与者
在主工具栏,点击
。
从打开的列表中,点击参与者的姓名,并选择 跳转到。
或者,在主工具栏,右键点击参与者的图标并选择相同选项。

光标将定位到所选访客光标所在的行。 如果您想快速定位某位参与者的光标,这将很有帮助。
使用结对编程模式
在主工具栏,点击
。
从打开的列表中,选择某位参与者的姓名,并选择 结对编程模式。
或者,在主工具栏,右键点击参与者的图标并选择相同选项。

光标将置于主机的光标之上。 PyCharm 会在主机与访客的编辑器周围加上边框,表示已启用结对编程模式。
即使光标位于项目的其他位置,焦点也会停留在主机的光标处。 此模式通常用于结对编程场景。
为特定用户终止共享会话
在主工具栏,点击
。
从打开的列表中,点击您想要为其终止会话的参与者姓名,并选择 移除访客。
或者,在主工具栏右键点击参与者的图标并选择相同选项。

PyCharm 将为所选参与者终止会话,并在访客端显示通知。 PyCharm 将关闭该会话对应的访客项目和 IDE。
如果该访客想要返回共享会话,则需要等待主机的许可才能加入。
为当前访客收集日志
在主菜单中,选择 帮助 | 收集主机和客户端日志。
PyCharm 会在您的本机上创建一个日志文件。 该日志文件包含当前项目的文件名、代码片段,以及有关访客活动的详细信息,例如光标移动、输入的符号、调用的操作、打开的文件、文件路径等。
收集会话中的所有日志
在主工具栏,点击
。
在打开的列表中,点击
并选择 提交问题(I)…。

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

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

结果,主机会收到通知,并可以授予或拒绝这些权限。

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

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