← 返回博客

Zed Industries 本周动态:#2

2023年5月12日

距离上一期“Zed 本周动态”已经过去4个月了。这比4年好一个数量级,所以我想我们正在逐渐掌握诀窍。

今天,让我们来看看大家在办公室 Slack 上都在忙些什么。

约瑟夫

我们通过应用内的反馈功能收到了大量用户反馈。每周,我都会阅读所有反馈,并寻找重复出现的主题,然后向团队汇报。这在很大程度上是没问题的,但为了让我们能够更深入地挖掘并消除近因偏见,Nathan 和我开始构建一个新工具,它将帮助我们解析反馈并利用 AI 生成报告。我们将能够提出关于特定事情的问题,例如“Vim 用户目前想要什么?”或“Zed 最令人困惑的方面是什么?”我们很高兴看到这将如何帮助我们更有效地消化反馈。

茱莉亚 (Julia)

保持 Zed 的性能和稳定性对我们来说非常重要。本周,我一直在解决项目搜索功能的一个恼人问题。在大型搜索中,它可能会让 UI 卡顿几秒钟。这无法接受。为了解决这个问题,Antonio 和我重新设计了我们的文件系统处理方式。这段代码非常复杂,因为它必须处理不可靠的文件系统事件、乱序查询以及协作者的远程文件系统。在一次超大型项目搜索中,我们可能会打开数十万个缓冲区,并且我们有一个操作会针对项目中的所有缓冲区执行。移除此操作影响了代码库的几个核心假设。值得庆幸的是,我们的随机集成测试可以在这些新错误成为已发布的回归问题之前捕获它们。

基里尔

我在 Zed 的前两周,一直在探索编辑器的各个角落,希望能找到一些小任务来完成。本周我为项目搜索面板添加了基于 glob 的路径过滤。匹配可能会变得更符合人体工程学,但代价是增加误报,不过我们应该在更多地考虑默认情况下从项目搜索中排除/包含哪些文件之后再重新审视这个问题。本周的其余时间更加复杂:学习 GPUI 的内部原理、事件、按键以及更多关于主题的知识是一种有趣的混合,但最终完全值得。

在进行项目搜索过滤的同时,我也一直在努力发布一个用于渲染空白字符的设置,这是一个月前我在面试中提到的功能。这出乎意料地顺利,多亏了 Zed 的协作能力:每当我迷失在代码库中时,人们都会加入我的项目,带我熟悉情况,并在此过程中修复我本地项目中的问题。回想起来,这种支持让我如此高效,真是太棒了,让我们看看它长期会如何运作。

周末结束时,Intel Mac 给我带来了一个意外故障——我在模态键盘交互 PR 中编写的代码出现了段错误。谢天谢地,这很快就修复了。所有问题都解决了,一切恢复正常,这让我有了更多需要探索的角落:如果一切顺利,下一站将是 CLI 和文件打开模态窗口。

米凯拉

本月,我正在将您的 Git 仓库信息集成到 Zed 中。上周我们重新设计了仓库状态的内存表示,以便我们可以通过网络同步它,并以分支名称检测作为主要用例。本周,该方法已扩展到为项目中的每个文件添加当前 Git 状态的实时视图。这是当前实现的一个截图。

Screenshot showing the git status for several files in Zed's project panel.
截图显示了 Zed 项目面板中几个文件的 Git 状态。

下周:更多与差异块交互的方式 :D

内特

本周我一直深入研究 Zed 的主题系统(从过去几周开始持续)。这项工作的目标是在应用程序中以编程方式消除当前存在的许多对比度问题,更全面地考虑深色和浅色主题之间的差异,并创建一个所有主题都将使用并在此基础上发展的主题配置。这项工作涵盖了我们文档中主题路线图中主题 1.0 规范步骤的许多内容。希望我能在下周的更新中分享一些关于主题的正在进行的工作!

过去几周,这占据了我大部分时间,但在主题工作之外,我们本周一直在内部以及与社区讨论项目面板、缓冲区中的诊断以及查找和替换。

我已开始在我们的社区 Discord 服务器中发布一些正在进行的工作。从人们那里获得早期反馈,并了解到你们使用事物的方式与我们团队有许多不同,这太棒了。我希望将来能继续为某些功能做更多这种“公开构建”式的工作。如果您想查看一些正在进行的工作并分享您的想法,请随时加入我们。

大家周末愉快!

内森

我录制了一期播客:《Whiskey Web & Whatnot》,我在其中喝了一些美味的威士忌,并谈论了个人和技术方面的一系列话题。然后我在血液中流淌着威士忌的情况下编写了一些代码,结果出奇地顺利!Rust 类型系统又一次胜利。

在代码方面,Antonio 和我一直在改造 Zed 的工作区,以使项目面板可以停靠在左侧或右侧。终端现在将分组在一个面板中,尽管您仍然可以将面板拖到工作区窗格中,并且这个新的终端面板将能够停靠在工作区的左侧、右侧或底部。当我们发布时,我会发布更深入的解释。

可停靠面板的预览

所有这些都是为了开始将 ChatGPT 以助手面板的形式集成到 Zed 中。我们需要一个地方来放置它!


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

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


我们正在招聘!

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