在过去两周密集更新之后,我们都重新投入到长期项目中。我们有频道、GPUI 更新以及大量的小调整和改进。
基里尔
非常缓慢的一周:除了修复 bug,我还在努力理解代码中鼠标拖放的结构,结果发现它并不那么简单。我完成了文件拖放的初稿,但将其正确嵌入到现有系统中是另一个巨大的任务。
感觉相当疲惫,下周开始的假期来得很及时,它应该能给我带来关于那个大任务的更好想法。
马克斯
本周,我一直在开发 Zed 新的频道功能。频道将提供一个在 Zed 内部进行基于文本的代码对话的地方。它们还将允许我们向公众展示协作会话——有点像 Twitch 直播,但互动性更强,因为观众将能够自己浏览共享项目。我们确定了创建和加入频道的初始用户体验版本,并已开始着手实现它们。
康拉德
我专注于改进 Vim 仿真。本周用户可见的主要改进是模式指示器(在预览版中开局艰难,感谢 Julia 和 Mikayla!)。在后台,我在确保 Vim 选择始终与 Zed 选择匹配方面取得了进展。这立即修复了许多边缘情况,并为视觉块模式和多光标支持铺平了道路。
Derek
本周做了更多图标工作,并在 figma 中花费时间与 AI 一次性想法作斗争。还与 Nathan 就即将到来的 GPUI 的热门功能进行了更多结对编程。我创建了一些演示布局,以便在更新更通用时尝试。我还开始记录一些关于设置 UI 和更新的助手 UI 的想法。
内特
频道功能正在脑海中!我们一直在设计新的频道功能,它最初将允许您向频道直播、添加可以直接编辑您的项目的成员,并分享一个公共链接供人们以只读模式加入。这里有很多需要考虑的地方,我们一直在思考人们在直播过程中会采取的所有不同路径,并找出体验中的所有边缘情况。
除了频道,我还一直在做一些小事情——我发布了对我们主题系统的更新,它允许我们对树状分析器查询中捕获的任何语法样式进行动态样式设置。现在我们不再需要手动维护我们要支持的所有不同语法样式列表。我们只需传入我们希望在默认主题中看起来特定样式,其余的则以默认样式进行样式设置。这意味着我们可以支持任何新语法样式的覆盖,而无需更新主题。
还有更多内容,但这快变成小说了。祝大家周末愉快!
米凯拉
本周正式启动了我们协作功能的一次重大升级。我一直在与 max 密切合作,构建一个新的协作面板来放置频道信息。频道特别有趣,因为我们已将它们建模为数据库中的 DAG,以实现跨组织共享频道。但用户将主要以树状结构与它们交互,从某个任意节点(不一定是 DAG 的根)开始。您甚至可以将用户的视角本身视为 DAG 的另一个根。这为我们提供了一种表达许多有趣的社交结构的方式,这种方式应该感觉直观而强大。而且,这意味着可以编写我最喜欢的代码:通过子查询和递归 with 表达式解决整个问题的复杂 SQL 语句 :D
内森
我和 Antonio 早上结对研究 CRDB。我们专注于为我们用于索引文档片段和操作的内存 B 树配备持久化到磁盘的能力。下午,我继续努力改进 GPUI 中 UI 设计的体验,基于我们目前从系统中学习到的东西。它还不太漂亮,但这里可以先睹为快。


茱莉亚 (Julia)
我度过了相当轻松的一周,研究各种小 bug,直到我们开始注意到预览频道中出现了大量的崩溃。虽然预览的目的是在潜在的严重 bug 和我们的普通用户群之间提供一个缓冲,但这仍然是我们需要尽快修复的问题。不幸的是,我们获得的堆栈跟踪并不是最有用,我大部分时间都在徒劳地追查。值得庆幸的是,Mikayla 带着她的一个直觉来帮助我,她认为她曾协助的一个新的 Vim 模式功能可能存在问题。一旦我们有了明确的调查方向,很快我们就发现了并迅速修复了崩溃的原因。
约瑟夫
对我来说,本周令人兴奋。除了我通常做的社区运营和辅助编程任务之外,我还在 Zed 中提交了一些我一直想要的特性的小型拉取请求。第一个是 workspace: close all docks(默认绑定到 alt-cmd-y),它只需一个操作就可以关闭您可能打开的三个停靠窗口中的任何一个。我曾因为所有停靠窗口都打开而不得不快速启动多个命令来关闭它们而感到沮丧。我合并的第二个拉取请求是一组文本操作命令:editor: sort lines case sensitive、editor: sort lines case insensitive、editor: reverse lines 和 editor: shuffle lines。能够对文本行进行重新排序控制感觉很好。感谢 Julia 和 Mikayla 帮助我解决了关于 Zed 代码库的一些问题。这些命令在 v0.97 中可用。