本周,我们将告别 Petros Amoiridis。您可以在他的博客上阅读他在 Zed 的时光。我们感谢他的付出和贡献,并祝愿他未来一切顺利。
以下是大家本周的工作进展
Antonio
我正在完成 Nathan 和我上周开始做的关于工作区(workspace)的更改。我们完善了将面板停靠到左侧、底部或右侧的所有逻辑,并增加了缩放任何给定面板(或窗格)的功能。这个新系统感觉非常直观,我们很高兴能尽快推出它。剩下要做的就是将此状态持久化,以便在 Zed 重新打开时可以恢复。
约瑟夫
本周,我有机会学习了一些原生 SQL,扩展了我的技能,这与我之前只使用ORM的经验不同,以便在我们新的商业智能堆栈中构建图表:Metabase + Clickhouse。能够完全控制图表构建方式,并去除使用更典型分析解决方案时经常出现的令人困惑的抽象层,这非常棒。
茱莉亚 (Julia)
本周,我们的稳定性和性能工作仍在继续。Antonio 和我成功追查到一个错误,该错误在某些罕见情况下可能导致我们忽略对.gitignore文件的更改。Max 和我协同解决了一个性能问题,该问题与同时编辑多缓冲区中大量由 Git 跟踪的缓冲区有关。最后,通过简单地更新一个依赖项,我成功避免了在使用某些格式错误的字体时可能发生的崩溃。
基里尔
原来这已经是我在 Zed 的第三周了,时间过得真快!
本周的工作更偏向维护:我相对流畅地修复了一堆 bug(尽管它们都很小),并更新了我们的基础设施,使其在当时我所需的 CLI 开发中更方便、更快。
上周经过一些维护,另外两个 PR 也合并到了主分支。
Zed 的所有地方(CLI、编辑器、跳转到行)都支持file_query:row:column标记法,允许文件查找器和 CLI 在特定位置打开文件。我还为文件查找器面板添加了导航历史的初步支持,尽管它在 Zed 重启后还不持久化。它应该能让您快速访问 Zed 中最近访问过的文件。
总的来说,我在这个小小的编辑器角落里感觉比较稳定了——是时候深入探索,更接近 LSP 层面,看看 Zed 中还缺少哪些协议功能。
马克斯
我正在为 Zed 添加项目特定设置。第一步,我重新组织了 Zed 处理设置的总体方式。以前,Zed 的所有设置都声明在一个名为settings的 crate 中,这个 crate 是我们代码库中几乎所有其他 crate 的依赖项。这意味着每当我们想要添加或更改一个设置时,我们都必须重新编译几乎整个代码库。
现在,每个 crate 都声明自己的设置类型,而settings crate 只负责从 JSON 文件加载设置。这意味着我们可以在一个 crate 中更改设置结构,而无需重新编译整个代码库。从这里开始,添加对项目特定设置的支持应该不会花太长时间。
米凯拉
本周,我正在完成我们称之为“Git 集成 0.1”的工作,通过在滚动条中添加 git diff 并探索火焰图的秘密。我还并行处理了许多不同的项目。我特别感兴趣的是扩展我们的属性测试,以覆盖更广阔的状态空间。我还阅读了美联储经济学家撰写的《邻近的力量》,并思考如果他们使用 Zed 的协作功能,这些结果可能会如何改变……
下周:修复我在添加 git 支持时创建的所有新 bug!
内特
本周的工作包括运营、小型项目以及在 Zed 上推进新的主题系统。由于本周没有太多可分享的,我可以进一步阐述这方面的工作……
我们现有系统面临的挑战之一是,它不仅有亮模式/暗模式,还有一系列不同的主题,这些主题可以是亮的、暗的,或者介于两者之间。我们需要一个更复杂的系统来处理主题中元素之间的对比度,动态为交互式元素创建状态的方法,这些状态要足够清晰可见且美观,以及提供更大的自由度来定义主题规范和在编辑器中进行覆盖。
过去几周我一直在扩展我们的主题系统,但平衡 Zed 新功能的开发设计和主题工程的难度很大。很快我们将引入人手来协助开发新主题,这样这两项工作都能更快推进!我很高兴能很快分享更多细节。
内森
我为本周 Zed 未来取得的清晰进展感到兴奋,而且我一直在 OpenAI 消费。我对我们今年将与大家分享的内容感到非常激动。我期待从博尔德出发,参加 6 月 1 日在旧金山举行的CDE Universe 大会并发言,届时我将分享更多细节。感谢您的阅读!