放弃 VS Code:新代码编辑器 Zed 的时代已经到来
共 3004字,需浏览 7分钟
·
2024-06-27 11:00
在过去的十年中,微软的 Visual Studio Code (VS Code) 一直是开发人员的首选文本编辑器。它与 Microsoft 生态系统(包括 TypeScript、NPM 包、GitHub、Azure 和 Edge 浏览器)的无缝集成使其成为开发人员的强大工具。然而,俗话说,没有任何技术能够永远占据主导地位。新的 Zed 是一款快速的开源代码编辑器,目前正在技术社区掀起波澜。
01 什么是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 代表了一种新的代码编辑方法,专注于开发人员对速度、易用性和良好体验的需求。Zed 团队以 Rust 为基础,在对编码的热情驱动下,旨在制定新标准。通过向社区开放,他们希望更多的人能够为让 Zed 变得更好做出贡献。
02 技术特点
从技术角度来看,Zed 是一种使用 Rust 开发的新型编辑器。它能够同时利用计算机的 CPU 和 GPU。这使得开发人员可以尝试不同的“游戏”,或者用不同的语言进行编码,以解决从简单到复杂的问题。
对于一个简单的文本编辑器来说,这听起来可能有点夸张,对吧?嗯,这就是它与其他编辑器的不同之处。通过启用 GPU 和 CPU,Zed 确实比程序员通常使用的大多数主流文本编辑器(例如 VS Code 和 Sublime)更快。虽然它可能不如默认的 vim 或 Neovim 那么快,但它肯定比 VS Code 更快并且使用更少的内存。
对于程序员来说,这意味着整体性能的提升。
访问计算机的 GPU 是 Zed 的一个显着特征,但这并不是它与其他编辑器的唯一区别。
2.1 AI Development
借助 Zed,开发人员可以获得强大的内置工具,例如 GitHub Copilot 和 GPT-4。您只需按“Ctrl+Enter”即可使用 GPT-4 重构代码。
如果这有点挑战性,您甚至可以用简单的英语或其他自然语言输入命令并获取相应的源代码。您还可以在面板中与助手聊天,而无需更改任务,片刻之后,它将根据对话生成内联文本(就在源代码中)。
所有这些人工智能功能都可以开箱即用,只需最少的配置和调整。
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 的使用更加愉快。
03 结论
Zed 仍在不断发展,但它不仅仅是一个编辑器。它以其时尚的设计、对速度的关注以及对简化编码体验的承诺展示了编程的未来。它可能会引起欣赏简单性和效率的开发人员的共鸣。