一个用Rust编写的开源代码编辑器Zed:开箱即用的远程协作编程能力

2024年 5月 10日 79.4k 0

代码编辑器已经成为开发人员不可或缺的工具,使我们能够高效地编写、编辑和协作代码。一个新的竞争者已经出现并加入了代码编辑器的竞争,它承诺彻底改变开发人员的工作方式 - Zed,一个完全用Rust编写的多人代码编辑器。

在本文中,我们将深入研究Zed代码编辑器究竟是什么,它提供的特性以及它的协作功能。最后,我们将比较Zed和VS Code。让我们开始吧。

Zed代码编辑器是什么?

Zed是一个用Rust编写的新的开源代码编辑器,以其闪电般的快速性能和尖端的协作功能脱颖而出。它将自己定位为最快的代码编辑器,并且拥有比VS code,Sublime Text和CLion等代码编辑器更高的性能。

Zed速度快的核心在于其创新的基于gpu的用户界面(GPUI)框架。这个GPUI框架利用现代图形处理单元(GPUs)的力量来栅格化整个编辑器窗口,提供高层级的平滑性和响应性。

关于Zed代码编辑器需要注意的一点是,它不仅提供了更高的性能。还提供了丰富的协作编码体验,这在当今远程协作优先的世界中是非常需要的。

一个用Rust编写的开源代码编辑器-Zed:开箱即用的远程协作编程能力-1图片

Zed代码编辑器的特性

让我们来探索Zed提供的一些特性。

AI集成

以下是Zed的AI能力:

  • GitHub Copilot支持:Copilot可以提供实时的基于人工智能的建议。
  • Open AI LLM支持:Zed使用GPT模型作为其AI助手。可以提示助手执行各种任务,如生成代码、将代码从一种语言转换为另一种语言以及编写文档。

一个用Rust编写的开源代码编辑器-Zed:开箱即用的远程协作编程能力-2图片

GPUI框架

如前所述,Zed编辑器速度的秘密在于其基于gpu的用户界面(GPUI)框架。这个框架利用了一种新的方法来为应用程序构建2D用户界面——比如代码编辑器窗口。

使用GPUI,整个窗口——包括文本、图形等——在图形处理单元(GPU)上被栅格化或转换为像素,GPU的设计目的是比cpu更有效地处理图形渲染任务。

这种方法可以更快、更流畅地将像素传递到屏幕上,并可以更快地更新和重新绘制代码编辑器的UI。

探索Zed的协作和结对编程能力

关于Zed的一个很酷的事情是,许多vscode提供的扩展功能都内置在Zed中。协作功能就是一个例子。虽然协作和代码共享可以通过微软的Live Share扩展在VS code上实现,但这是Zed的一个开箱即用的功能。

Zed的协作功能有:

  • 添加合作者
  • 与合作者共享项目
  • 在编辑器上跟踪合作者的活动
  • 通过聊天和频道与合作者交谈
  • 共享屏幕

让我们详细探讨一下这些特性。

添加合作者

与他人合作的第一步是将他们添加为联系人。在将某人添加为联系人之前,他们必须用他们的GitHub账号登录编辑器。这是必要的,因为将使用他们的GitHub用户名搜索联系人。

一个用Rust编写的开源代码编辑器-Zed:开箱即用的远程协作编程能力-3图片

共享项目

添加联系人后,就可以通过单击联系人进行呼叫。联系人一旦接受呼叫并加入,项目就被共享了。

确保只与信任的人协作和共享项目,因为共享项目将使他们能够访问你的本地文件系统。

一个用Rust编写的开源代码编辑器-Zed:开箱即用的远程协作编程能力-4图片

在下面的截图中,可以在左上角看到用户图标,协作侧边栏面板显示协作中的不同人员:

一个用Rust编写的开源代码编辑器-Zed:开箱即用的远程协作编程能力-5图片

合作者跟踪

Zed的多光标编辑经验可以让你通过他们的光标和头像来跟踪合作者。当多个开发人员同时在一个项目上工作时,这尤其有用,因为它使你能够一目了然地知道谁在做什么:

一个用Rust编写的开源代码编辑器-Zed:开箱即用的远程协作编程能力-6

聊天和频道

Zed提供的另一个协作特性是聊天功能。可以在代码编辑器中与合作者进行讨论。聊天还带有音频功能,允许你与他人进行语音通话。

然后是Zed的频道,这些类似于Slack频道,充当团队的虚拟办公室。可以为不同的主题设置频道,查看每个频道上都有谁,与他们聊天,甚至为频道创建共享笔记。

一个用Rust编写的开源代码编辑器-Zed:开箱即用的远程协作编程能力-7图片

请注意,频道功能目前是免费的。然而,Zed团队打算在测试期后将其变成付费功能。

屏幕共享

Zed还允许你与他人共享屏幕。多亏了这个功能,你不再需要离开你的编辑器,跳上QQ会议、Zoom或Teams。相反,你可以直接在编辑器中与队友协作:

一个用Rust编写的开源代码编辑器-Zed:开箱即用的远程协作编程能力-8图片

Zed与VS Code比较

扩展性

Zed最近推出了对其扩展注册表的支持。在此发布之前,插件和扩展在Zed上是不可用的。但是,通过这次发布,开发人员现在可以创建自己的扩展并与Zed用户共享。

可以通过在命令面板中运行zed: extensions来浏览所有可用的扩展。

添加扩展对Zed的成功至关重要,并且有助于推广。然而,要赶上拥有成千上万扩展的VS Code,它还有很长的路要走。但无论如何,Zed走在正确的道路上。

主题

Zed和VS Code都提供了光明和黑暗的主题。Zed不允许创建自己的主题,而VS Code允许用户创建主题,甚至通过扩展市场与他人共享。

Zed目前提供九组主题,而在VS Code的扩展市场中有数百个主题可供选择。

尽管Zed提供的主题比VS Code少,但它确实提供了各种各样的浅色和深色主题。所以,这不应该是一个做选择的主要原因,除非你是一个经常改变主题的人,并且希望有更多的选择。

用户体验

  • 在用户体验方面,Zed和VS Code有一些显著的区别:
  • VS Code允许将编辑器选项卡从当前窗口拖到新窗口中,而Zed不允许。
  • 在VS Code中,当放大时,它会放大整个UI。但是,Zed只放大编辑器,而界面的其余部分(侧边栏和终端)保持默认的缩放级别。

在使用Zed时,当点击文件树中的图像时,系统没有响应。而在VS Code中点击一个图像时,它会在一个新的选项卡中打开这个图像,让你看到它。

性能

Zed团队的数据显示,Zed代码编辑器提供了比VS code更好的性能。事实上,Zed的速度是其他编辑器的8倍。有些人可能会争辩说,速度和响应时间的这种轻微改进对于人眼和普通用户来说是微不足道的。

一个用Rust编写的开源代码编辑器-Zed:开箱即用的远程协作编程能力-9图片

协作能力

Zed和VS Code都提供了协作功能,使开发团队能够远程协作。就协作而言,Zed和VS Code之间有两个主要区别:

  • Zed的协作特性是内置的,而VS Code依赖于Live Share扩展进行协作。
  • Zed提供音频通话、聊天服务器和屏幕共享功能,而VS Code没有。

虽然这两种代码编辑器都提供了协作工具,但Zed的代码编辑器是内置的,而且功能更多。

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论