← 返回博客

Zed Industries 本周动态:#3

2023 年 5 月 19 日


本周,我们要和 Petros Amoiridis 道别。 您可以在他的博客上了解他在 Zed 的时光。 我们感谢他的关心和贡献,并祝他未来的事业一切顺利。

以下是本周每个人的工作进展

Antonio

我正在完成 Nathan 和我上周开始的工作区更改。 我们充实了将面板停靠到左侧、底部或右侧的所有逻辑,并添加了缩放任何给定面板(或窗格)的能力。 这个新系统感觉非常直观,我们很高兴能尽快发布它。 剩下的就是持久化这种状态,以便在重新打开 Zed 时可以恢复它。

Joseph

本周,我有机会通过学习一些原始 SQL 来扩展我的技能,这与我之前只使用 ORM 的经验不同,以在我们的新商业智能堆栈中构建图表:Metabase + Clickhouse。 完全控制图表的构建方式,并消除在使用更典型的分析解决方案时经常出现的令人困惑的抽象层,这非常不错。

Julia

本周,我们的稳定性和性能工作仍在继续。 Antonio 和我能够追踪到一个错误,该错误可能导致我们在某些罕见情况下忽略对.gitignore文件的更改。 Max 和我联手解决了一个与同时在多缓冲区中编辑大量 git 跟踪缓冲区相关的性能问题。 最后,通过简单地更新一个依赖项,我就能够避免某些类型的格式错误的字体会导致崩溃的问题。

Kirill

原来这是我在 Zed 的第三周,时间过得真快!

本周更倾向于维护:我相对顺利地修复了一堆错误(尽管它们很小),并在某些地方更新了我们的基础设施,使其对于我当时需要的 CLI 开发更加方便和快速。

经过一些维护后,上周的另外两个 PR 已合并到 main 中

Zed 中的每个地方(CLI、编辑器、转到行)都支持file_query:row:column表示法,允许文件查找器和 CLI 在特定位置打开文件。 我还添加了对文件查找器面板的导航历史记录的初始支持,尽管它在 Zed 重新启动之间不是持久的。 它应该允许您快速访问 Zed 中最近访问的文件。

总的来说,我感觉在这个小编辑器角落里已经有了一定的地位——是时候更深入地探索,更接近 LSP 级别,并检查 Zed 中仍然缺少哪些协议功能了。

Max

我正在努力将项目特定的设置添加到 Zed 中。 作为第一步,我重新组织了 Zed 处理设置的方式。 以前,Zed 的所有设置都在一个巨大的结构中声明,在一个名为settings的 crate 中,该 crate 是我们代码库中几乎所有其他 crate 的依赖项。 这意味着每次我们想要添加或更改设置时,都必须重新编译几乎整个代码库。

现在,每个 crate 声明自己的设置类型,并且settings crate 仅处理从 JSON 文件加载设置。 这意味着我们可以在一个 crate 中更改设置的结构,而无需重新编译整个代码库。 从这里开始,添加对项目特定设置的支持应该不会花费很长时间。

Mikayla

我正在完成我们称之为“Git 集成 0.1”的工作,通过将 git diffs 添加到滚动条中并发现火焰图的秘密。 我也一直在并行地处理许多不同的项目。 我特别感兴趣的是扩展我们的属性测试以覆盖更多的状态空间。 我还在阅读联邦储备银行经济学家撰写的“邻近的力量”,并想知道如果他们使用 Zed 的协作功能,这些结果会发生什么变化...

下周:修复我在添加 git 支持时创建的所有新错误!

Nate

本周,我一直在做运维、小型项目,并推动 Zed 上的新主题系统。 由于本周我没有什么可分享的,我可以进一步详细说明这项工作...

我们当前系统的一个难题是不仅有浅色模式/深色模式,而且还有一系列不同的主题,这些主题可以是浅色的、深色的或介于两者之间的。 我们需要一个更复杂的系统来处理主题中元素之间的对比度、动态创建交互式元素状态的方式,这些状态要足够强大,可以清晰地看到,同时看起来很棒,以及在编辑器中提供更大的自由度,以便定义主题规范和覆盖。

在过去的几周里,我一直在扩展我们的主题系统,但是在 Zed 中平衡新功能的设计和主题的工程设计非常困难。 很快我们将引入一个人来帮助负责新主题,以便这两件事都能更快地向前发展! 我很高兴能尽快分享更多信息。

Nathan

我很高兴本周为 Zed 的未来实现了清晰的目标,而且我一直在 OpenAI 上消费。对今年将与大家分享的内容感到非常兴奋。我期待着 6 月 1 日从博尔德前往旧金山在 CDE Universe 上发言,届时我将分享更多细节。谢谢阅读!