放弃 VS Code:新代码编辑器 Zed 的时代已经到来(附使用感受)

1.Zed 是什么?

Zed 由 Nathan Sobo 和一个曾在 GitHub 开发 Atom 和 Tree-sitter 的团队开发。他们的目标是创建一个快速、简单且用户友好的代码编辑器,以提升开发人员的编码体验。以下是关于 Zed 历史的一些关键点:

  • 起源:团队利用他们在 GitHub 开发 Atom 和 Tree-sitter 的经验,学习了许多关于为开发者创建工具的知识。
  • 目标:他们的主要目标是通过使用 Rust 来提高速度,保持简单性,增加智能工具以改进编码,并确保开发人员享受他们的工作,从而打造出完美的代码编辑器。
  • 现有选项的挑战:他们发现其他流行的选项(如 VS Code)过于缓慢和复杂,想尝试一些不同的东西。
  • 发布和演变:Zed 于 2023 年首次作为封闭产品发布。然而在 2024 年,他们决定将其开源,允许任何人根据用户反馈来帮助改进它。
  • 平台可用性:目前,Zed 仅适用于 Mac 电脑,但由于需求很高且 Rust 与 Linux 兼容,他们计划很快支持 Linux。
  • 开源决策:开源 Zed 是一个重要决定。团队相信,与社区合作会使 Zed 变得更好。

总体而言,Zed 代表了一种新的代码编辑方式,专注于开发人员对速度、易用性和良好体验的需求。基于 Rust 并以对编码的热情驱动,Zed 团队旨在设定新的标准。通过将其开放给社区,他们希望更多的人能为使 Zed 更加出色做出贡献。

2. 技术特性

从技术角度来看,Zed 是一种使用 Rust 开发的新型编辑器。它能够同时利用计算机的 CPU 和 GPU。这使开发人员可以在各种编程语言中进行不同的"游戏",解决从简单到复杂的问题。

对于一个简单的文本编辑器来说,这听起来有点夸张,对吧?这正是它与其他编辑器的不同之处。通过启用 GPU 和 CPU 的使用,Zed 确实比大多数主流文本编辑器更快,如 VS Code 和 Sublime。虽然它可能不像默认的 vim 或 Neovim 那么快,但肯定比 VS Code 快,并且使用更少的内存。

对于程序员来说,这意味着整体性能的提升。

访问计算机的 GPU 是 Zed 的一个独特特性,但这并不是唯一使它与其他编辑器不同的地方。

有关更多信息,请访问 Zed 官方网站。

2.1 AI 开发

使用 Zed,开发人员可以获得强大的内置工具,如 GitHub Copilot 和 GPT-4。你可以通过按 "Ctrl+Enter" 来使用 GPT-4 重构代码。

如果这有点困难,你甚至可以用简单的英文或其他自然语言输入命令,并得到相应的源代码。你还可以在面板中与助手聊天而不改变任务,不久之后,它将在对话中生成内联文本(直接在你的源代码中)。

所有这些 AI 功能都可以开箱即用,几乎不需要配置和调整。

2.2 速度和性能

从技术和实际操作来看,Zed 比任何其他文本编辑器都要快,这通过同时利用 CPU 和 GPU 实现。Zed 编辑器的行为像一个游戏窗口,其中文本编辑器元素的渲染类似于游戏元素。

这使得它比 Sublime Text 和 VS Code 更快。大多数文本编辑器只运行在单个处理器上,但 Zed 同时运行在 CPU 和 GPU 上,使其更快且更节省内存。

2.3 代码助手

Zed 在你输入代码时进行跟踪,启用语法高亮、自动缩进、可搜索的概要视图和轻松的代码选择等功能。它还通过语言服务器协议(LSP)进行通信,提供自动补全建议、代码导航、错误检查和代码改进。

2.4 与 Discord 和 Slack + Google Docs 集成

好吧,这个小标题可能有点误导。我的意思是,Zed 提供了集成的频道,如 Discord 和 Slack,允许你在会议期间与团队沟通并共同编写代码。

同样,在 Discord 和 Slack 中,如果你想在编辑器之外做些事情,可以与他人分享你的屏幕。

与分别使用 VS Code 和 Discord 的优势相比,你不需要切换两个不同的应用程序。相反,你可以直接导航到需要展示的代码库,从而节省时间和精力。

使用 Zed,你可以跳到队友的位置并跟踪他们的代码。然后,你可以切换角色,让分享代码的人跟随审阅它的人。这比搜索或导航到特定行要更容易和更快。

2.5 CRDT

CRDT(无冲突复制数据类型)是一种数据结构,确保最终一致性,即使在并发修改时也能保持数据同步。

在 Zed 中,每个缓冲区默认就是一个 CRDT,为各种形式的协作提供了基础。它们也是多线程架构的关键组成部分,使得使用 Zed 更加愉快。


个人使用感受

由于目前官方只有mac版本得下载支持。所以我用的使用自己编译的Windows版本,当然,出于简单考虑,我并没有编译全部的功能,但是核心的编辑和插件、主题系统以及代码提示等功能还是有的,编译还是比较简单的,只要环境没问题,按照官方提供的步骤自己就可以完成。

速度

确实如官方介绍,Zed的速度确实很快,不管是启动还是日常使用中的响应,写代码的多多少少都用过好几款不同的编辑器,比如VSCODEJetbrains系列的产品、Vim等等。但用Zed写了一段时间的Rust之后我发现,他最大的优点就是速度快。最主要,在速度快的同时内存占用并不高,和其他同类产品比起来。

功能

至于Zed全部的功能上面也介绍了,但由于我编译的并不是完整的功能版本,因此很对功能还是没能体验到,不过就已有的功能来说,Zed的插件系统包括主题插件和功能插件,虽然整个插件系统还没有Vscode丰富,但也有不少主题和核心插件提供,对于日常开发来说绰绰有余了。

建议

由于目前尚未支持WinLinux,想要尝鲜的可以自己手动编译。但BUG确实还是不少的,这一点无可厚非,毕竟做开发的都能理解,如果你追求完善的体验,那还是建议你安心等官方发布吧,这是一款非常Nice的编辑器,起码我非常喜欢和认可。

相关推荐
Vitalia5 小时前
从零开始学Rust:枚举(enum)与模式匹配核心机制
开发语言·后端·rust
一只小松许️7 小时前
Rust闭包详解
开发语言·rust
Tee xm7 小时前
清晰易懂的VSCode加Cline插件使用不同API提供商实现AI编程
vscode·ai编程·安装
1alisa7 小时前
Sublime Text for Mac v4【注册汉化版】代码编辑器
macos·编辑器·sublime text
神码编程8 小时前
【Unity】 HTFramework框架(六十四)SaveDataRuntime运行时保存组件参数、预制体
unity·编辑器·游戏引擎
William.csj8 小时前
Linux——开发板显示器显示不出来,vscode远程登录不进去,内存满了的解决办法
linux·vscode
mzak10 小时前
vscode集成deepseek实现辅助编程(银河麒麟系统)【详细自用版】
linux·vscode·编辑器·银河麒麟·deepseek
JCBP_10 小时前
数据结构3
服务器·c语言·数据结构·vscode
SoFlu软件机器人10 小时前
Go/Rust 疯狂蚕食 Java 市场?老牌语言的 AI 化自救之路
java·golang·rust
一个程序员(●—●)10 小时前
编辑器检视器面板深度扩展2+编辑器菜单栏扩展
编辑器