亮网络解锁器,解锁网络数据的无限可能 了解详情
写点什么

向微软“复仇”!支持 OpenAI、Copilot 的 Zed 编辑器要干掉 VS Code:Rust+ 少插件,速度贼快

  • 2024-01-26
    北京
  • 本文字数:2856 字

    阅读完需:约 9 分钟

大小:1.34M时长:07:47
向微软“复仇”!支持OpenAI、Copilot 的Zed编辑器要干掉VS Code:Rust+少插件,速度贼快

Zed 是一款支持多人协作的代码编辑器,底层采用 Rust,且默认支持 Rust,还自带了 rust-analyzer,主打“高性能”。1 月 24 日,备受关注的 Zed 项目宣布正式开源。


Zed 代码库将采用 Copyleft 许可证,其中编辑器部分使用 GNU General Public License (GPL),服务器端组件则采用 Affero General Public License (AGPL)。此外,GPUI UI 框架将以 Apache 2 许可证分发,允许开发者构建高性能桌面应用程序,并自由选择许可证分发其应用。此次开源转变意味着 Zed 的代码和相关组件将面向所有开发者开放,赋予社区更大的灵活性和合作空间。



最近在 GitHub 上发表的一篇帖子中,Zed 的编辑器创始人 Nathan Sobo 详细介绍了 Zed 编辑器的多个关键组件以及它们各自的开源许可证。Zed 的编辑器本体采用了 GPL 许可证,体现了对开源精神和自由共享的强调。而其服务器端组件则采用了 AGPL 许可证,为网络部署的应用程序设置了更严格的共享要求。


此外,Zed 团队还开发了一个 GPU 加速的 UI 框架——GPUI,它遵循 Apache 2 许可证,旨在超越基于 Web 的 Electron 框架的限制,利用 GPU 加速来提供更流畅和响应更快的用户界面。


谈到 Nathan Sobo ,他不仅仅是 Zed 的创始人,还是 Electron 框架和广受欢迎的 Atom 编辑器的开发者。Electron 是一基于 Chromium 浏览器组件和 V8 JavaScript 引擎的框架,现已成为全球领先的轻量级 IDE 和编辑器——Visual Studio Code (VS Code) 的一部分。


然而,Zed 在技术实现上走了一条与 Electron 完全不同的路线。Zed 是用 Rust 语言构建的,直接编译为本机代码,这种方法与基于 Web 技术的 Electron 形成了鲜明对比。


有趣的是,Atom 编辑器曾被微软收购并最终被淘汰以支持 VS Code, Zed 的出现似乎带有一种“复仇”之意。

Zed 编辑器:Rust+ 少插件,速度极快


在功能和性能方面,Zed 与市场上的主流产品 VS Code 形成了鲜明对比。尽管 VS Code 以其超过 55,000 个插件选项而著称,但 Zed 尚在开发其插件模型,还未形成自己的完整生态系统。Zed 项目 FAQ 中提到,在开源之前,他们不会添加插件系统,但一旦开源,将致力于增强其可扩展性。


Zed 的一个显著优势是其卓越的性能,这在很大程度上得益于 Rust 的高效特性以及目前较少的插件数量。这种设计策略使 Zed 拥有极快的运行速度,直接针对了 VS Code 用户群体中最关心的性能痛点。


一位开发人员在 Zed 帖子下评论道,“VS Code 的运行速度向来极其缓慢……而经历过烦人的基本代码检查和 linting 代码分析之后,我干脆弃坑了。”


另一位用户也表示,“各位还没体验过 Zed 的朋友,我可以向大家保证,这是我 25 年开发生涯中用过的唯一一款不会让人分心的 GUI 编辑器。以往的工具总是用图标、菜单、色彩等花里胡哨的元素扰人心神,而现在我的注意力可谓空前集中,这正是 Zed 的优势所在。”


Zed 的 AI 辅助方法虽然比较粗糙,但反而迎合了那些想要强调自身控制权的开发用户。Zed 支持 GitHub Copilot 与 OpenAI。


关于 Copilot,Zed 开发团队成员 Mikayla Maki 表示,“在视觉效果和心智负担间求取平衡至关重要,过于急切地扩大 Copilot 功能反而会得不偿失,甚至与 LSP(语言服务协议)自动补全等原有功能发生冲突。为此我们引入了针对各种语言禁用 Copilot 的设置,还在建议代码片段前添加了 75 毫秒的防误操作机制。而一旦出现冲突,Zed 会优先选择语言的真实 LSP,而非 Copilot 建议。”


Zed OpenAI 助手面板(图片来自 Zed 说明文档)


作为独立功能,Zed 的 OpenAI 助手面板拥有极高的可配置空间。


开发人员可以选择模型类型并随时变更,甚至在 AI 会话期间也能灵活切换。当然,大家需要先拥有一个 OpenAI 账户,并在 Zed 中配置 API 密钥。这些密钥将按使用的 token 量计费,而 Zed 将始终显示所选模型的剩余 token 数量。


与 OpenAI 大语言模型间的交互会通过 CMD-Enter(而不止是输入)来提交,旨在让使用感受“尽可能接近传统编辑器,即按下回车键只会插入换行符”。这样就避免了意外消耗 token 的情况。对于传回的响应结果,如果开发者觉得没什么帮助,也可以用 ESC 键快速取消。

Zed 还提供内联助手功能,可帮助查看当前代码的上下文。Zed 团队成员 Marshall Bowers 发布了关于如何用 AI 进行内联文档,以及在不同模板系统间翻译代码的文章。其中提到 “使用 post_link 等函数 auk DSL 重写此 HTML”之类的命令。他还提到,AI 可用于协助补全大部分模板代码。


Zed 开源的背后动机


Nathan Sobo 在谈及将 Zed 开源的决策时指出,主要目的是为了打造一款卓越的产品。他们的愿景是创造世界上最先进的代码编辑器,并且让广泛的开发者社区参与其使用和改进。由于 Zed 的目标用户群体主要是程序员,开源能够吸引更多的人才加入其开发。此外,开源的过程本身更有趣,有助于与用户建立更深层次的联系。Sobo 表示,他们不仅为 Zed 的成果感到自豪,而且也珍视在创建过程中的经历,并希望与社区分享这一过程,从中学习并不断完善 Zed。


Sobo 进一步强调,他们坚信,要构建并维护世界级的编辑器,最佳方式是将其与一个可持续的商业模式结合。为了支持一个全职团队持续领导 Zed 的开发,他们认为开源并不与商业成功相冲突。相对于出售专有编辑器,他们更愿意提供与用户编辑器无缝集成的服务,从而提高用户和团队的生产力。例如,Zed Channels 就是一种这样的服务,它目前对所有人免费,但计划在一段试验性测试期后对私人使用开始收费。他们还看到了通过提供服务器端计算支持 AI 功能作为另一种变现方式。


Sobo 明确表示,他们决定开源迄今为止编写的所有代码。然而,未来他们可能会针对商业和企业用例提供专有产品,尽管这些专有代码只会占他们开源代码的一小部分。他们还承诺,创造收入的需求永远不会干扰用户编写软件的需求,比如他们承诺永远不会在 Zed 中展示横幅广告,且如果这种情况发生,用户总是可以选择从源代码构建自己的 Zed 版本。


Zed 未来:无缝 AI 集成与跨平台支持



根据项目路线图,Zed 未来将支持无 OpenAI 密钥 AI 功能,在终端中实现 AI 内联辅助、简化辅助界面,并允许 AI 访问“缓冲区、文件、LSP、终端提示符”等功能。


除了扩展不足之外,Zed 还存在其他一些问题。首先是能够支持的编程语言有限。目前支持效果最好的是 Rust、TypeScript 和 Python,其他部分语言也能支持,但微软 C# 等语言则完全无法支持。此外项目描述还提到,“目前正积极开发将 Zed 与任意语言服务对接的功能”。


最后一个问题,就是当前 Zed 还只提供 mac 版。在 GitHub 上的回应中,开发团队表示未来将支持其他平台。路线图中提到了对 Linux 和 Web 的支持计划(Web 版可能通过 WebAssembly 实现,这也符合 Rust 的语言特性)。但截至本文撰稿时,项目组还从未提及 Windows 版本。也就是说除非通过 Windows Subsystem for Linux,否则 Windows 平台的用户恐怕还要再等上一段时间。


参考链接:

https://devclass.com/2024/01/25/rust-based-zed-editor-now-open-source-with-built-in-support-for-openai-and-github-copilot/

https://zed.dev/roadmap

https://zed.dev/blog/zed-is-now-open-source

2024-01-26 15:487918

评论 1 条评论

发布
用户头像
期待🏷️
2024-01-29 14:20 · 湖南
回复
没有更多了

软件测试/测试开发丨Python 深拷贝与浅拷贝

测试人

Python 软件测试 自动化测试 深拷贝 浅拷贝

海量小文件传输对于企业选用文件传输软件的重要意义

镭速

文件传输 海量小文件传输

打造全球司库新范式,用友践行产融数智化转型之洞见

用友BIP

全球司库

效率提升与智能化的新机遇

百度开发者中心

人工智能 大数据 文心一言

新材料生产工厂MES系统选型指南

万界星空科技

MES系统

用友全球化数智运营解决方案:构建企业出海竞争力

用友BIP

中企出海 升级数智底座

软件测试/测试开发丨Jenkins Pipeline 学习笔记

测试人

软件测试 jenkins CI/CD pipeline 测试开发

聊聊低代码的全栈开发能力

高端章鱼哥

低代码 应用开发 全栈开发

ps2024新功能 修图软件ps 2024 beta 25.0安装 Photoshop激活版

mac

PhotoShop 图像处理软件 苹果mac Windows软件 ps2024

2023年软件开发领域的发展趋势

树上有只程序猿

软件开发

小米 AR 运动主机「15 分钟消耗一碗米饭」;互联网行业平均薪资降至 3 万档丨RTE开发者日报 Vol.45

声网

GreptimeDB 使用指南 | 3 分钟快速下载启动时序数据库

Greptime 格睿科技

数据库 时序数据库 Greptime GreptimeDB

Python程序设计实例 | 条形码图片识别

TiAmo

Python 条形码识别 条形码

探索GameFi局势:利用代币经济学应对可持续发展挑战

区块链软件开发推广运营

交易所开发 数字藏品开发 dapp开发 区块链开发 NFT开发

昇腾实践丨ATC模型转换动态shape问题案例

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号9月PK榜

“国云入闽 数耀鹭岛”,中国电信天翼云创新助力数字福建新征程!

天翼云开发者社区

人工智能 云计算

武林立志传:龙吟剑 mac攻略(武侠角色扮演游戏)中文移植版

mac

角色扮演游戏 Windows软件 苹果mac游戏 武林立志传 龙吟剑

对话在行人|中亿丰(上):基于数智化中台推动业财融合

用友BIP

2023全球商业创新大会 对话在行人

“连理”升空 OpenHarmony开启国产卫星系统星辰大海

最新动态

荣誉拉满!国云向新,“算”出新未来!

天翼云开发者社区

云计算

向微软“复仇”!支持OpenAI、Copilot 的Zed编辑器要干掉VS Code:Rust+少插件,速度贼快_开源_核子可乐_InfoQ精选文章