第13章 Zed 实时协作:频道、语音聊天与音频配置指南
Zed 支持实时多人协作编辑。多位用户可以同时在同一个项目中工作,并实时看到彼此的鼠标光标和编辑操作。
按 {#kb collab_panel::ToggleFocus} 打开协作面板。你需要登录后才能使用协作功能。
协作面板 {#collaboration-panel}
协作面板包含两个部分:
警告: 共享项目会让协作者访问该项目内的本地文件系统。请仅与你信任的人进行协作。
更多详情参见数据和隐私常见问题。
音频设置 {#audio-settings}
选择音频设备
你可以选择特定的输入和输出音频设备,而不用系统默认设置。配置音频设备的步骤如下:
- 打开 {#kb zed::OpenSettings}
- 导航至协作 > 实验性功能
- 使用输出音频设备和输入音频设备下拉菜单选择你偏好的设备
更改会立即生效。如果所选设备变得不可用,Zed 将回退到系统默认设置。
要测试音频配置,请在同一部分点击测试音频。这将打开一个窗口,让你验证麦克风和使用选定设备时的扬声器是否正常工作。
JSON 配置:
json [settings]
{
"audio": {
"experimental.output_audio_device": "Device Name (device-id)",
"experimental.input_audio_device": "Device Name (device-id)"
}
}
将任一值设为 null 即可使用系统默认设置。
频道
频道是用于团队协作的持久化房间。每个频道都可以包含共享项目、语音聊天和协作笔记。
频道支持:
- 结对编程 – 每个协作者保留自己的屏幕、鼠标和键盘。
- 辅导 – 直接进入对方的上下文提供帮助,无需对方交出控制权。
- 重构 – 多人可以实时加入同一场大型重构。
- 环境感知 – 无需开状态会议,就能看到队友正在做什么。
每个频道通常对应一个进行中的项目或工作流。 协作者的头像会显示在 Collaboration Panel 中,你可以据此看到谁在频道里。
点击 Collaboration Panel 中 Channels 文字旁的 + 图标即可创建频道。
右键点击已有频道并选择 New Subchannel,即可创建子频道。
工作频道和副业项目的频道都可以放在 Collaboration Panel 里统一管理。
加入频道后,你会进入一个共享房间,可以和大家一起协作开发项目。
欢迎加入 我们的频道树,看看如何组织你自己的频道。
邀请成员
默认情况下,你创建的频道只有你自己能访问。
右键点击频道并选择 Manage members,即可邀请协作者。
当频道下嵌套了子频道时,权限会被继承。 例如,把某人添加到频道树的顶层频道,他就自动获得了其所有子频道的访问权限。
添加成员后,对方可以在自己的 Collaboration Panel 中点击频道加入,你也可以直接分享频道链接让他加入。
语音通话
通过窗口右上角的麦克风图标,可以开启或关闭麦克风。
注意:加入频道时,只要操作系统允许,Zed 会自动向通话中的其他用户共享你的麦克风。如果想加入时默认静音,可以使用
mute_on_join设置。
共享项目
加入频道后,点击窗口右上角的 Share 按钮,即可通过频道共享项目。
频道成员就能像在本地检出代码一样,直接编辑你机器上的代码。
在协作模式下,当你修改他人的项目时,编辑器功能依然可用:跳转定义、AI 功能以及查看诊断信息都可以正常使用。适合结对编程,一人负责编码,另一人则阅读并验证附近的代码。由于本地配置保持不变,协作体验与你平时熟悉的设置一致。
协作者可以打开、编辑、保存文件,执行搜索,并与语言服务器交互。访客对项目的访问权限为只读,包括查看语言服务器信息。
取消共享项目
点击标题栏中的 取消共享 按钮,即可将项目从该频道中移除。
此时正在该项目中协作的用户将被断开连接,除非你重新共享,否则他们无法再次加入。
频道笔记
每个频道都关联一个 Markdown 笔记文件,用于记录当前状态、新想法,或在编写代码之前协同完善功能设计。
这相当于一份基于 Zed 协作服务的共享 Markdown 文档。
点击协作面板中频道名称右侧的文档图标,即可打开频道笔记。
注意: 无需加入频道即可查看其笔记。
跟随协作者
点击标题栏左上角的协作者头像,即可跟随该用户。也可以直接在命令面板中执行 {#kb workspace::FollowNextCollaborator} 或 {#action workspace::FollowNextCollaborator} 来切换跟随对象。
当你加入某个项目时,系统会自动让你跟随邀请你的那位协作者。
当某个窗口正在跟随协作者时,会:
- 同步该协作者的鼠标光标和滚动位置
- 跟随他们跳转到同一项目中的其他文件
- 如果该协作者正在共享屏幕并离开当前项目,窗口将立即切换到查看其屏幕共享
要停止跟随,只需移动鼠标或通过键盘进行编辑即可。
跟随机制
跟随功能针对特定窗口生效。当某窗口在跟随协作者时,其边框会显示为该协作者的光标颜色。
同一项目中的协作者会以彩色显示,并附带对应的光标颜色;其他项目中的协作者则显示为灰色。
这种面板级行为允许你在一个面板中跟随某人,同时在另一个面板中独立导航,是某些协作模式下高效的布局方式。
跟随终端
目前,终端中的跟随功能不支持编辑器中那样的方式。 作为替代方案,协作者可以共享他们的屏幕,你可以转而跟随屏幕共享。
屏幕共享
点击标题栏右上角的 Share screen(显示器图标)按钮,即可在当前频道中与协作者共享屏幕。
如果你拥有多个显示器,可以通过显示器图标右侧的下拉箭头选择要共享的哪一个。
共享屏幕后,其他人可以点击协作面板中你姓名下的 Screen 条目,打开一个标签页并保持可见。
如果他们正在跟随你,Zed 会自动在他们自己的 Zed 实例中跟随你的光标与你的屏幕共享之间切换,具体取决于你当前聚焦的是 Zed 还是其他应用(如网页浏览器)。
警告: 共享时,协作者可以看到你的整个屏幕。完成后请停止屏幕共享。
直播与访客
频道也可以设为公开。 这样任何人都可以通过点击链接加入该频道。
频道中的访客用户可以听到和看到正在发生的一切,并拥有项目和频道备注的只读权限。
如果你想邀请访客在通话期间参与频道,可以在协作面板中右键点击他们。 “允许写入权限”将使他们能够编辑共享到通话中的任何项目,并且如果愿意,可以使用麦克风和共享他们的屏幕。
离开通话
点击窗口右上角的 Leave call 按钮即可离开频道。
联系人和私聊
私聊提供在频道之外的即时协作会话。将联系人添加到你的列表中,并与一个或多个他人开始通话。
添加联系人
- 在协作面板中,点击
Contacts部分旁边的+按钮 - 使用其 GitHub 账号搜索联系人。\ 注意:你的联系人必须是已完成 GitHub 认证登录流程的现有 Zed 用户。
- 对方会收到通知。接受后,你们就会出现在彼此的联系人列表中。
私人通话
发起私人通话的方法:
- 在 Collaboration 面板中,点击在线联系人名字旁边的
...菜单。 - 点击
Call <username>
通话开始后,你可以在 Collaboration 面板中点击其他在线联系人的名字,把他们加入通话。
私人通话类似于频道,但没有频道笔记等频道专属功能。