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

news2024/10/10 18:21:01

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的编辑器,起码我非常喜欢和认可。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

菲律宾媒体PR发稿:谷歌SEO优化.关键词排名.谷歌收录

1. 引言 在菲律宾,媒体行业的发展日新月异,尤其是在线媒体。为了在这个竞争激烈的市场中脱颖而出,各家媒体纷纷寻求谷歌SEO优化、提升关键词排名和增加谷歌收录的方法。本文将围绕菲律宾的几大主要在线媒体,如菲律宾在线日志Jour…

计算机系统基础知识(下)

嵌入式系统以及软件 嵌入式系统是为了特定应用而专门构建且将信息处理过程和物理过程紧密结合为一体的专用计算机系统,这个系统目前以涵盖军事,自动化,医疗,通信,工业控制,交通运输等各个应用领域&#xff…

Qwen2本地web Demo

Qwen2的web搭建(streamlit) 千问2前段时间发布了,个人觉得千问系列是我用过最好的中文开源大模型,所以这里基于streamlit进行一个千问2的web搭建,来进行模型的测试 一、硬件要求 该文档中使用的千问模型为7B-Instruct,需要5g以…

【大数据】大数据时代的黎明

目录 前言 深入解读大数据的本质 大数据的起源与演进轨迹 大数据对社会经济的深远影响 经济领域的革新 社会治理与公共服务的智能化 创新体系的重构 面临的挑战与应对 前言 步入21世纪以来,人类文明正站在一个历史性的转折点上,迎来了大数据时代的…

关于如何更好管理好数据库的一点思考

本文尝试从数据库设计理论、ER图简介、性能优化、避免过度设计及权限管理方面进行思考阐述。 一、数据库范式 以下通过详细的示例说明数据库范式的概念,将逐步规范化一个例子,逐级说明每个范式的要求和变换过程。 示例:学生课程登记系统 初始…

汽车零部件制造企业如何选择合适的ESOP电子作业指导书系统

随着汽车产业的不断发展,汽车零部件制造企业在提高生产效率和产品质量方面面临着越来越大的挑战。为了解决这些问题,越来越多的汽车零部件制造企业开始采用ESOP电子作业指导书系统,以帮助他们管理和优化生产流程。但是,在选择合适…

win7使用vue-cli创建vue3工程

1.创建名为test的项目 vue create test 回车以后选择第三个,进行手动选择 2.选择配置 向下箭头表示下一个,空格表示*选中,按照我的选择来选即可,选完后回车 3.选择vue.js版本 上线箭头进行选择,选择后回车 4.选择不同的配置&#…

一个实例配置多个服务名

更改参数实现配置多个服务名 需求背景 在做案例模拟的时候发现博主的环境配置的是3个服务名,通常都是一个服务名,服务名就是数据库名,出于好奇进行了以下实验。 环境:Oracle 11.2.0.4 单点 配置多个服务名的意义 可以通过服务…

【CT】LeetCode手撕—72. 编辑距离

目录 题目1- 思路动规五部曲 2- 实现⭐72. 编辑距离——题解思路 3- ACM 实现 题目 原题连接:72. 编辑距离 1- 思路 模式识别:编辑举例 ——> 动态规划 动规五部曲 1.dp数组的含义 int[][] dp new int[word1.length()][word2.length()];以 i-1 …

正则表达式;grep、sed、awk、soft、uniq、tr 详解

正则表达式 概念 正则表达式(Regular Expression,常简写为regex、regexp或RE)是一种强大的文本处理工具,它使用一种特殊的字符序列来帮助用户检查一个字符串是否与某种模式匹配。 标准正则表达式 首先安装正则表达式pcre库 创…

10--7层负载均衡集群

前言:动静分离,资源分离都是在7层负载均衡完成的,此处常被与四层负载均衡比较,本章这里使用haproxy与nginx进行负载均衡总结演示。 1、基础概念详解 1.1、负载均衡 4层负载均衡和7层负载均衡是两种常见的负载均衡技术&#xff…

黑马程序员——Spring框架——day08——maven高级

目录: 分模块开发与设计 分模块开发的意义 问题导入模块拆分原则分模块开发(模块拆分) 问题导入创建Maven模块书写模块代码通过maven指令安装模块到本地仓库(install指令)依赖管理 依赖传递 问题导入可选依赖 问题导入…

这就是人性的丑恶,很残酷但很现实

这些年我喜欢跟垃圾撕破脸,包括垃圾亲戚,我是不会跟你讲什么感情的,该滚蛋就滚蛋。我最不喜欢听什么今日留一线,日后好相见。 之前我还不懂事的时候,就有那种亲戚叫我帮他介绍工作,我照做了。 结果&#xf…

实现批量自动化电商数据采集|商品详情页面|店铺商品信息|订单详情数据

电商数据采集是指通过技术手段获取电商平台上的商品信息、店铺信息和订单信息等数据。这些数据可以用于市场分析、竞品分析、用户行为分析等。 商品详情页面是指电商平台上展示商品详细信息的页面,包括商品名称、价格、图片、描述、评价等信息。通过采集商品详情页…

Word如何在页眉中插入和删除横线

你平常是否遇见到Word的页眉中有一条横线,怎么也删不了!!! 今天刘小生分享如何在页眉中插入和删除横线,我们一起操练起来吧! 1、Word页眉插入横线 选择【插入】-【页眉页脚】,在“页眉页脚”…

【arm扩容】新硬盘挂载操作说明

背景: 未经过扩容的arm设备不满足移植大镜像的条件。 需求: 我们要对arm设备扩容,现在要将一个500G的硬盘挂进去。而且要按照老arm设备的挂法,保持相同的目录结构。配置这台机器。 下面老arm设备的硬盘挂载相关信息。 lsblk …

Open3D 点云的体素化

目录 一、概述 1.1概念 1.2 应用场景 二、代码实现 三、实现效果 3.1原始点云 3.2体素化后点云 一、概述 1.1概念 体素化(Voxelization)是将三维空间数据(例如点云)转换为体素网格(Voxel Grid)的过…

<电力行业> - 《第2课:电力行业的一会两网》

1 一会 一会指的是电监会,全称是国家电力监管委员会。根据国务院批准《国家电力监管委员会职能配置内设机构和人员编制规定》,国家电力监管委员会按照国务院授权,行使行政执法职能,依照法律、法规统一履行全国电力监管职责。 2 …

使用 Splashtop REST API 简化远程管理

Splashtop 的 REST API 可无缝提高生产力和简化集成,使用户能够自动执行任务、定制工作流程,轻松与现有系统集成。 在与客户的合作中,我们对其需求和痛点有了更深入的了解,尤其在有利于实现自动化的领域。在本文中,我…

手机照片回收站无法恢复图片怎么办?2个措施,找回丢失的相册

我们的照片和视频存储在各种设备中,其中包括我们的智能手机,但有时候我们可能会不小心删除这些重要的数据。这时,手机照片回收站就显得尤为重要。然而,即使有回收站,我们也可能遇到一些问题,例如回收站中的…