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

1.Zed 是什么?

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. 技术特性

zed1

从技术角度来看,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的编辑器,起码我非常喜欢和认可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/743630.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从概念到现实:数字孪生技术在智慧充电站的实践

在电动汽车蓬勃发展的今天,充电基础设施的智能化升级成为了推动新能源汽车产业跃进的关键一环。数字孪生技术,作为智能制造和工业4.0的核心,正在逐渐渗透到智慧充电站的每一个角落——从提高能源效率到增强用户体验,为智慧充电站的…

HarmonyOS NEXT:华为开启全新操作系统时代

在全球科技浪潮的汹涌澎湃中,华为再次以创新者的姿态,引领了一场关于操作系统的革命。HarmonyOS NEXT,这一由华为倾力打造的分布式操作系统,不仅是对现有技术的一次大胆突破,更是对未来智能生活的一次深邃展望。 Harmo…

统信UOS系统忘记登录密码怎么办

在使用统信操作系统UOS的时候有可能会出现忘记密码的情况,当遇到了用户登录密码忘记时如何修改?今天分享一下忘记超级系统管理员Root以及普通密码时的解决方法。 因为UOS系统版本的原因,UOS 1031操作系统取消了单用户更改密码的方法&#xff…

硬核实力再亮,玩出梦想科技发布全球首款安卓系统空间计算机

6月25日,玩出梦想科技在新加坡召开全球新品发布会,正式发布全球首款安卓系统空间计算机——玩出梦想MR,填补了空间计算机在安卓生态的空白。 作为品牌沉淀两年的破晓之作,玩出梦想MR以业内领先软硬件配置,强大自研算法…

Charles抓包工具系列文章(四)-- Rewrite 重写工具

一、背景 这是一款比Map Local/Remote 还强大的工具,更加灵活,体现在以下几点: 重写request报文重写response报文header 字段的增删改query param 字段的增删改重写 body 字段改写http 响应状态status重写host/url/path 从这也可以看出其强…

强化学习-RLHF-PPO入门

一、定义 强化学习微调分类RM模型 数据集格式训练流程Reward 模型训练流程(分类模型,积极为1,消极为0) AutoModelForSequenceClassificationReward 模型训练案例PPO模型训练流程PPO模型训练案例 二、实现 强化学习微调分类 RLHF:基于人类反馈对语言模型…

什么概率密度函数?

首先我们来理解一下什么是连续的随机变量,在此之前,我们要先理解什么是随机变量。所谓随机变量就是在一次随机实验中一组可能的值。比如说抛硬币,我们设正面100,反面200,设随机变量为X,那么X{100,200}。 X是…

Java之多线程的实现与应用

多线程 创建进程方式: (1)继承Thread类 class Main {public static void main(String[] args) { MyThread01 myThread01new MyThread01(); myThread01.start(); while(true){System.out.println("main方法的run()方法正在运行")…

Vue 3 中处理文件上传和响应式更新

Vue 3 中处理文件上传和响应式更新 一、前言1.创建文件上传组件2.解释代码3.在主应用中使用文件上传组件4.总结 一、前言 在现代 web 开发中,文件上传是一个常见需求。本文将详细介绍如何在 Vue 3 中处理文件上传,并确保上传后的文件列表能够响应式更新…

AI视频教程下载-定制GPT:使用您的数据创建一个定制聊天GPT

Custom GPTs_ Create a Custom ChatGPT with Your Data 构建一个定制的GPT,与您自己的数据进行聊天。添加文档,生成图像,并集成API和Zapier。 这门全面的Udemy课程专为那些渴望学习如何创建自己定制版ChatGPT的人设计,以满足他们…

C++:C与C++混合编程

混合编程 为什么需要混合编程 (1)C有很多优秀成熟项目和库,丢了可惜,重写没必要,C程序里要调用 (2)庞大项目划分后一部分适合用C,一部分适合用C (3)其他情况,如项目组一部分人习惯用C,一部分习惯用C 为什么…

HarmonyOS角落里的知识:“开发应用沉浸式效果”

概述 典型应用全屏窗口UI元素包括状态栏、应用界面和底部导航条。开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感,从而使用户获得最佳的UI体验。 图1 界面元素示意图 开发应用沉浸式效果主要要考虑如下…

心灵馆咨询系统小程序心理咨询平台聊天咨询

心灵馆咨询系统小程序:解锁你的心灵密码 💖 心灵之旅的导航者 在繁忙的现代生活中,我们时常会面临各种压力与困惑。心灵馆咨询系统小程序,如同一位贴心的导航者,引领我们探索内心的世界,寻找真正的自我。 …

DDP(Differential Dynamic Programming)算法举例

DDP(Differential Dynamic Programming)算法 基本原理 DDP(Differential Dynamic Programming)是一种用于求解非线性最优控制问题的递归算法。它基于动态规划的思想,通过线性化系统的动力学方程和二次近似代价函数,递归地优化控制策略。DDP的核心在于利用局部二次近似来…

北大医院副院长李建平:用AI解决临床心肌缺血预测的难点、卡点和痛点

2024年6月14日,第六届北京智源大会在中关村展示中心开幕,海内外的专家学者围绕人工智能关键技术路径和应用场景,展开了精彩演讲与尖峰对话。在「智慧医疗和生物系统:影像、功能与仿真」论坛上,北京大学第一医院副院长、…

[经典]原型资源:蚂蚁金服UI模版部件库

部件库预览链接: https://d3ttsx.axshare.com 支持版本: Axrure RP 8 文件大小: 30MB 文档内容介绍 基本部件:表单样式:12款、数据样式:10款、服务样式:6款、导航:5款、业务组件:7款、 模板…

区块链技术与数字货币

1.起源 ➢中本聪(Satoshi Nakamoto), 2008 ➢比特币:一种点对点的电子现金系统 2.分布式账本技术原理 1.两个核心技术: ➢以链式区块组织账本数据实现账本数据的不可篡改 ➢分布式的可信记账机制 2.共识机制:由谁记账 ➢目的: ⚫ 解…

鸿蒙开发系统基础能力:【@ohos.hiTraceMeter (性能打点)】

性能打点 本模块提供了追踪进程轨迹,度量程序执行性能的打点能力。本模块打点的数据供hiTraceMeter工具分析使用。 说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 impor…

AcWing算法基础课笔记——状态压缩DP:蒙德里安的梦想

状态压缩DP 状态是整数,但把它看成二进制数,二进制中每一位是0或1表示不同的情况。 蒙德里安的梦想 291. 蒙德里安的梦想 - AcWing题库 题目 求把 NM𝑁𝑀 的棋盘分割成若干个 1212 的长方形,有多少种方案。 例如…

Java面试题:聚簇索引和非聚簇索引

聚簇索引和非聚簇索引 聚簇索引(聚集索引) 将数据的存储和索引放在一块,索引结构的叶子节点保存了行数据 索引字段必须存在,且只能存在一个 非聚集索引(二级索引) 将数据和索引分开存储,索引结构的叶子节点关联的是对应的主键 索引字段可以存在多个 索引的选取规则 如果…