2024Rust首款编辑器Zed开源,速度极快、干掉VSCode?

前有科技后进阶 2024-03-02 11:50:40

大家好,很高兴又见面了,我是"高级前端‬进阶‬",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!

1. 什么是 Zed

Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.

Zed 是一款新型开源代码编辑器,由 Atom 和 Tree-sitter 的创建者开发,旨在让开发者可快速定制和协作。 Zed 采用 Rust 构建,与许多其他编辑器相比,提供卓越的速度和性能。

快速高效:得益于 Rust,Zed 提供了流畅的编码体验,即使对于大文件也是如此实时协作:无论身在何处都可以与团队实时协作广泛可定制:通过主题、插件和可调整的设置,Zed 可以根据工作流程进行定制。完全开源:Zed 于 2023 年推出,并于 2024 年开源,邀请世界各地的开发者做出贡献跨平台:目前可用于 Mac,并计划支持 Linux、Windows、Web

对于 macOS 用户,还可以从 Homebrew 安装 Zed:

brew install zed

对于 Linux 可以通过下面命令快速开始:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shgit clone https://github.com/zedapp/zedcd zedcargo build --release// 构建完成后可以从 ./target/release/ 目录运行 Zed

目前 Zed 在 Github 开源,有超过 26.5k 的 star、1k 的 fork,是一个值得关注的开源项目。

2. 什么让 Zed 能脱颖而出实时协作

Zed 让开发者可以与团队成员同时编写代码,即可以立即看到其他人正在输入的内容,就像一起编辑同一个文档一样。

使每个人的更改保持同步。可以看到不同颜色的光标来了解谁在哪里输入更改发生时会被共享,因此不会发生混淆。可以直接在 Zed 中与团队讨论代码启动群组会话就像共享链接一样简单

此功能非常适合:

一起修复代码快速讨论想法并寻找解决方案帮助新团队成员加快结对编程的速度在 Zed 中一起工作可以使与他人的编码变得更加顺畅和直接编程语言支持

Zed 对许多编程语言都很友好,包括:

JavaScript 和 TypeScriptPythonJAVAC++

对于这些语言,Zed 提供:

突出显示代码,使其更易于阅读关于如何完成代码的建议检查代码是否有错误设置代码格式使其看起来整洁帮助调试的工具更快编码的特殊快捷键

而且开发者只需要针对特定语言添加简单配置即可,比如:

{ "languages": { "TypeScript": { "code_actions_on_format": { "source.organizeImports": true } }, "TSX": { "code_actions_on_format": { "source.organizeImports": true } } }}

同时,由于 Zed 是开源的,任何人都可以添加对更多语言的支持,Zed 的目标是让开发者用最喜欢的语言进行编码变得轻而易举。

可扩展性和插件

Zed 允许开发者添加新功能或更改其插件系统的工作方式。 这非常重要,因为这意味着任何人都可以让 Zed 做更酷的事情。

以下是为 Zed 制作插件的工作原理:

使用 Rust 和一个特殊的工具包 (zed_plugin) 来创建插件。插件可以改变 Zed 的工作方式,例如添加新工具或更改编辑器。Zed 确保插件能够很好地协同工作使用 Rust 工具来共享插件。此设置允许开发者创建许多不同的东西,例如:对更多编程语言的支持、检查代码的工具,甚至新主题。

以下是人们制作的一些很酷的插件:

Python LSPCode MinimapVim ModeOutput Panel其他特性

除了以上突出特性外,Zed 还包括很多开发者特别关心的问题:

安全:当与其他人合作时,Zed 通过使用 Rust 的内置安全功能和加密消息来确保使用安全。加密:当在 Zed 中一起编码时,它会使用强加密来保护工作私密性,比如:WebRTC沙盒和权限:Zed 限制了它的用途3. 为何 Zed 如此快

Zed 速度非常快,因为其用 Rust 构建,Rust 是一种以速度而闻名的编程语言。

得益于 Rust 语言

Rust 是 Zed 速度背后的秘密武器,与其他一些使用 Electron 的代码编辑器不同,Zed 可以直接在计算机硬件上运行, 这意味着打开文件或打字等常见任务几乎是即时的。

// This is a comment, and is ignored by the compiler.// You can test this code by clicking the "Run" button over there ->// or if you prefer to use your keyboard, you can use the "Ctrl + Enter"// shortcut.// This code is editable, feel free to hack it!// You can always return to the original code by clicking the "Reset" button ->// This is the main function.fn main() { // Statements here are executed when the compiled binary is called. // Print text to the console. println!("Hello World!");}

Rust 也非常擅长管理内存,这有助于 Zed 顺利运行,即使打开大量文件或处理大型项目时也是如此。

多线程

Zed 可以同时执行许多操作,因为它将任务分配给 CPU 中的不同内核。 这样,代码建议和自动保存等功能就不会互相拖慢速度。

当开发者打字时,这种多任务处理尤其明显。 Zed 可以提供提示并检查代码,而不会妨碍开发者。

GPU 加速与设计权衡

Zed 还使用 GPU(计算机中处理图形的部分)来显示文本和滚动, 即使正在处理大文件,从而使得代码移动变得非常顺畅。

Zed 背后的团队选择让事情变得简单,同时专注于对编码最重要的内容。 这意味着 Zed 不仅速度快而且非常易于使用。

而且针对未来,Zed 团队希望更多地利用 Rust 和现代计算机的强大功能。 目标是保持 Zed 的快速运行,即使添加了实时协作代码等新功能。

对于任何编码并关心不浪费时间的人来说,Zed 的速度和同时处理大量任务的能力使其成为一个不错的选择。

4.本文总结

本文主要和大家介绍 Zed ,其是一款新型开源代码编辑器,由 Atom 和 Tree-sitter 的创建者开发,旨在让开发者可快速定制和协作。因为篇幅问题,关于 Zed 只是做了一个简短的介绍,但是文末的参考资料提供了大量优秀文档以供学习,如果有兴趣可以自行阅读。如果大家有什么疑问欢迎在评论区留言。

参考资料

https://github.com/zed-industries/zed

https://daily.dev/blog/zed-learn-everything-about-the-open-source-code-editor-built-in-rust

https://www.youtube.com/watch?v=ejRdLq1fk6U

https://www.youtube.com/watch?v=zHRcz5G04fk

https://blog.stackademic.com/reviewing-zed-the-ide-of-the-future-305d681d990c

2 阅读:1394

前有科技后进阶

简介:感谢大家的关注