周三,我们发布了 Zed 0.89,它增加了对语言服务器协议中 OnTypeFormatting
请求的支持。 对于支持它的语言服务器(例如 rust-analyzer),这将使编辑体验更好,例如,在插入左花括号时,会自动插入右花括号。
以下是我们每个人本周的工作情况
Antonio
本周我一直在努力改进 Zed 下一个版本中的一项新功能:助理面板。 该面板与 OpenAI 集成,提供类似于 ChatGPT 的体验,但使用的是多缓冲区,每个消息都可以编辑或删除。 我们一直在内部使用它,并且我们认为这是与 AI 交互的一种非常好的方式,我个人期待下周发布时向其他人开放它。
Joseph
本周,我完成了与我们的 panic 遥测相关的一些剩余工作。 在收集了一个星期的数据后,图表开始显示其价值。 拥有我们崩溃的多个视图并能够快速反应是一个改变游戏规则的事情。 此外,我恢复了在本周末对我们的反馈分析工具的工作,该工具将把我们的应用程序内反馈聚合到更易于理解的报告中。
Piotr
我本周主要致力于添加对以下两个功能的支持:Select previous
编辑器命令和注释延续。 这两个都相对简单(我的同事很快就帮助解决了棘手的部分——向他们致敬!)。 我还对与 LTO 和工具链管理相关的构建配置进行了小的调整。 在某个时候,我也想研究如何让我们的构建更快一些。 下周我计划与 Mikayla 合作处理 Zed 的协作部分(duh)。
Max
我本周花了一些时间来改进 Zed 中对 Elixir 的支持。 我修正了我们语法高亮显示的一些问题,并在 Elixir 中向轮廓视图添加了一些信息。 以前,轮廓视图只显示函数的名称,但在 Elixir 中,通常有许多具有相同名称的函数定义,因此我们现在也显示参数。
语法高亮显示和轮廓视图都使用 Tree-sitter 查询控制,所以这主要涉及到更改这些查询。 在进行这些更改的过程中,我还向 Zed 添加了一个功能,即在开发过程中,查询会在您更改它们后动态重新加载。 这将使将来迭代 Zed 的语言支持的速度快得多。
我还调查了用户报告的关于 Elixir 语言服务器 elixir-ls
的一些问题。 在解决这些问题的过程中,我提高了 Zed 中语言服务器日志的可见性。 语言服务器日志
视图现在除了显示与该服务器交换的协议消息外,还显示每个语言服务器的日志。
Mikayla
终于发布了我们 git 状态系统的重写,正好及时发现了我们的预览服务器上与旧系统工作方式相关的崩溃! 既然已经完成了,我将开始一个新的项目,该项目将很快宣布™。
Kirill
本周,我开始研究内联提示,该功能吞噬了我整个星期,我感觉下周也会类似。 从好的方面来说,由于 Julia、Antonio 和 Zed 出色的协作能力,原型即将完成 —— 当我陷入编辑器的黑暗深处时,我总能得到一些帮助。
Julia
正如我上周所讨论的那样,我们一直面临的一个主要问题是,我们下载到用户设备上的语言服务器副本变得损坏。 这可能会以多种方式发生,尽管最常见的方式似乎是下载和提取操作的中断。 我本周的大部分精力都用于改进我们的语言服务器处理,以检测服务器何时无法启动,或在使用过程中死亡,然后测试以查看安装是否有效。 一旦我们检测到损坏的安装,我们就可以删除它并重新下载服务器,从而防止用户看到烦人的“语言服务器更新失败”消息以及其他问题。