向微软“复仇”!用 Rust 实现终极编辑器之梦!-Zed

2024-06-07 09:25:11 0点赞 0收藏 0评论

在我过去的使用经验里,IDE 一直带给我一种特定的印象:它们功能强大,但这些功能往往都需要以牺牲 UI 的流畅或简洁为代价,甚至两者皆有。

看起来 JetBrains 在精简用户界面外观方面做得很好,但它仍然远没有传统意义上所说的编辑器那么快速,比如 Vim 或者更早的 TextMate。我记得刚开始工作那会儿,用 TextMate 写 Ruby 的时候,虽然没什么智能辅助,但是至少运行速度很快。后来转到 RubyMine 之类功能强大的 IDE 之后,尽管功能强大了很多,但我总是为延迟感到抓狂。

一直以来,这都是个权衡取舍的问题。我梦寐以求的工具既要功能强大,又要拥有简约时尚的外观,并且运行速度飞快。但是,超快的速度和强大的功能很难兼得。

今天就介绍一款实现这二者的结合的工具- Zed。

向微软“复仇”!用 Rust 实现终极编辑器之梦!-Zed

Zed是什么?

Zed 是一款支持多人协作的代码编辑器,由 Atom 编辑器原作者主导,其底层采用 Rust 编写、默认支持 Rust,还自带了 rust-analyzer,主打 “高性能”——作者表示希望将 Zed 打造为世界上最好的文本编辑器。

Zed编辑器的一大亮点在于其高性能表现,它能有效利用计算机CPU和GPU资源,确保应用启动迅速、文件加载快、响应敏捷。据官方对比,Zed的启动速度比微软Visual StudioCode快四倍,同时占用的RAM内存也少了50%。

此外,从界面展示来看,Zed编辑器设计现代,旨在为开发者提供高效、流畅的编码环境。随着Linux支持的推进,更多开发者将有机会亲身体验Zed所带来的性能提升。

向微软“复仇”!用 Rust 实现终极编辑器之梦!-Zed

Zed主要功能

Zed 的一些其他很酷的功能包括:

通过在键入时为每个缓冲区维护完整的语法树来实现语言感知,再加上对语言服务器协议 (LSP) 的支持,您将获得精确的代码突出显示、强大的自动完成功能和无缝代码导航等优势。

功能齐全的集成终端让您可以直接从编辑器进行 shell 访问。

内置Vim 模式和VSCode 样式默认绑定可从一开始就提高您的编码能力。

多种浅色和深色主题可供选择,让编辑器感觉您的风格,以及创建和加载更接近 Zed 1.0 的自定义主题的承诺方式。

可以直接从编辑器安装的CLI 工具,用于从终端打开文件和项目。

向微软“复仇”!用 Rust 实现终极编辑器之梦!-Zed

Zed特色优势

优势

基于 Rust 开发,Zed 性能优于基于 Electron 框架的 VS Code

要知道,Nathan Sobo 曾经不仅开发了 Atom 编辑器,还创建了用于构建跨平台桌面应用程序的 Electron 框架。

值得关注的是,VS Code 这款轻量级的 IDE 是基于 Electron 框架开发的。不过这一次,Nathan Sobo 没有选择去追随 VS Code 的脚步去采用 Electron,而是使用了 Rust 构建并编译为本机代码。

对此,Nathan Sobo 在官方解释道,“Rust 独特的类型系统可让我们在不影响应用程序稳定性的情况下,在多个内核上并行工作。Zed 使用写入时复制数据结构和 Rust 富有表现力的 async 原语,将 CPU 密集型任务从主线程中转移出来,从而获得单线程编辑器无法实现的响应速度。”

同时,相比 VS Code 有超过 55000 个扩展,Zed 也没有那么多的插件。Zed 的到来可以有效解决开发人员对 VS Code 性能的不满。

向微软“复仇”!用 Rust 实现终极编辑器之梦!-Zed

支持最新的 GitHub Copilot、OpenAI

除此之外,在 AI 时代下,为了增强程序员的编码体验,Zed 跟随前沿 IDE 发展趋势,整合了先进的 AI 工具。

在这一点上,Zed 开箱即支持 GitHub Copilot,只要按下 Ctrl+Enter 键,然后输入自然语言 Prompt,就可使用 GPT-4 生成或重构代码。

Zed 团队成员 Mikayla Maki 透露,截至目前,GitHub 官方还没有提供与 Copilot 交互的 API。不过,得益于开源的 Neovim 插件,我们可以访问一个无文档、经过精简的 LSP 服务器,它能帮 Zed 团队处理与 GitHub 的交互。

时下,Zed 已经内置了对 LSP 服务器的支持,因此访问 Copilot 就像从 Neovim 插件库下载 Copilot LSP 一样简单。

在对 Copilot 的行为进行微调过程中,Mikayla Maki 分享道,“平衡其视觉和心理负担至关重要,因为过于活跃的 Copilot 可能会适得其反,并与 LSP 自动完成等已有功能产生冲突。我们为每种语言引入了禁用 Copilot 的设置,在插入‘建议文本’之前增加了 75 毫秒的延迟,并在出现冲突时优先使用语言的真正 LSP(语言服务器协议),而不是 Copilot。”

向微软“复仇”!用 Rust 实现终极编辑器之梦!-Zed

Zed体验界面

Zed 的编辑器界面

Zed的综合终端

Zed 的命令面板

泽德的助理

Zed 的协作和聊天面板

Zed 的诊断选项卡

Zed 的默认键绑定

总结

Zed 是一款在性能、功能和功能方面独一无二的 IDE,即使它仍处于测试阶段,它也是一个令人印象深刻的工具,我打赌它在未来会获得更多功能,这将使其成为一个强大的竞争对手到广泛使用的 VSCode。

开源地址:https://github.com/zed-industries/zed

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章

向阳紫火花

本号分享的软件等收集自互联网,若侵权或违规,请联系删除。 软件仅供学习使用,禁止商用,请购买正版软件。 软件使用造成的一切风险由用户自行承担,本号 不负任何责任。 涉及商业机密或者个人隐私的请警慎使用

发文累计获赞2501,内容被1.8万人收藏

关注 打赏
作者其他文章
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松