← 返回博客

Zed Industries 本周动态:#8

2023年6月23日

又是一个富有成效的一周。我们主要专注于AI、协作和性能。

Antonio

我一直在完善助手面板。显著的改进包括增加了消息拆分选项和引入了多光标支持。此外,我和 Nathan 还添加了保存和加载与助手的对话功能。

本周还穿插了许多与 Kirill 关于内嵌提示的配对会话,他将在他的部分中介绍。

约瑟夫

我本周继续致力于我们的内部分析工具。我正在编写一些测试,希望能修复一些与我们分组反馈方式相关的错误,然后再尝试将其发送到 OpenAI。我还编写了代码,将 zed.dev 页面事件发送到 ClickHouse,这样我们就可以围绕人们如何导航和使用网站构建更全面的图表。

Piotr

本周我主要和 Nate 一起致力于使我们的主题定义不那么冗长。我和 Mikayla 在语音协作方面取得了很大进展,并在此过程中更好地掌握了 GPUI。在空闲时间,Kirill 和我还研究了 Zed 的构建时间,并略微减少了它们。值得注意的是,我们成功将 Zed 的 .dmg 文件大小减少了 10% 以上。=)

下周,我的计划是与 Mikayla 合作,完成语音协作。

马克斯

我继续优化 Zed 监视和扫描文件系统的系统,以维护项目文件夹的内存表示。我们现在会延迟加载任何被 git 忽略的目录,或位于项目目录之外(并通过项目中的符号链接引用)的目录,直到您在其中打开缓冲区或在项目面板中展开它们。这项工作已接近完成,但仍有一些细节需要处理。这应该会减少 Zed 处理文件系统事件的内存和 CPU 使用率,并通过减少需要同步的文件和目录数量来加快协作。

米凯拉

本周,我完成了语音支持的布线!我们的设计师 Nate 偶然测试了它 :D。我还在本周日大学毕业,并参加了 DWeb camp。下周,Piotr 和我将尝试向所有人发布语音协作,届时我应该会有更多内容要说!

基里尔

我致力于改善大型文件的内嵌提示延迟和新代码的整体可靠性。我重新编写了几次,以使新的提示缓存适应正确的策略。作为奖励,提示协作模式开始可靠运行,我现在有测试来证明它。该功能的第一轮公开发布看起来很有希望:剩下的是提示视觉效果、文档以及我们在此过程中发现的任何小问题。

凯尔

这是我加入 Zed 的第一周。我一开始就与 Nathan 和 Antonio 一起投入到助手面板的工作中,了解了初始功能和 UI,并致力于持久化对话。之后,我本周大部分时间都在与 Max 一起开发嵌入和索引引擎。我对我们仅在本周取得的进展印象深刻,并希望在未来几周内我们能拥有一个功能齐全的语义导航功能。

茱莉亚 (Julia)

除了完成重新安装损坏的语言服务器的工作外,Antonio 和我合作解决了一个我们长期以来一直存在的恼人的性能问题。我们注意到,在快速移动鼠标时,滚动编辑器和项目面板非常缓慢。快速分析显示,我们大部分时间都花在更新鼠标光标样式上。由于 GPUI 是中间模式,它不像通常只在悬停小部件更改时更新光标样式的保留式 UI 那样工作。相反,我们每次鼠标移动时都会更新光标,这导致系统在鼠标移动的每一帧都进行昂贵的光标样式路径栅格化。修复这个问题很简单,只需在光标样式与当前样式不匹配时才更新它。

内森

我致力于 Zed 的新助手面板,以及以“博文驱动开发”风格撰写即将推出功能的博文,即我们在构建功能之前撰写公告。我还与 Boulder 的新承包商合作改进 Vim 模式。

最后,在与下个月将加入我们的 Derek Briggs 进行了长时间的交谈之后,我花时间思考了 GPUI 的 UI 样式方法。目前,GPUI 的元素深受 Flutter 的启发,其中每个元素都扮演着非常特定的角色。因此,我们有像 FlexStackAlignContainer 等元素。这在 Dart 中可能运行良好,但考虑到 Rust 漫长的编译时间,我想探索一种更类似于 HTML 和 CSS 的方法,即我们只有一种类型的元素,可以在运行时通过数据应用任意样式。这样,我们可以先搭建基本结构,然后在应用程序运行时调整更多样式。我希望这能改善我们构建 UI 时的反馈循环。

感谢阅读!


正在寻找更好的编辑器吗?

您今天就可以在 macOS、Windows 或 Linux 上试用 Zed。立即下载


我们正在招聘!

如果您对我们博客中涵盖的主题充满热情,请考虑加入我们的团队,帮助我们实现软件开发的未来。