在Windows上为.NET和Markdown尝鲜Zed编辑器
在这篇文章中,我将分享我对Zed编辑器的最初印象。内容包括我的第一印象、为了适应它而进行的一些自定义设置,以及我将它用于.NET和Markdown文档工作后的结论。
VS Code有什么问题?
在谈论我的实际感受之前,我认为有必要先讨论一下我最初为何要关注Zed编辑器。毕竟,我目前已经在笔记本电脑上安装了JetBrains Rider、Visual Studio和Visual Studio Code,我真的还需要另一个吗?😅
当然,虽然你可以使用所有这些IDE/编辑器来完成许多相同的任务,但它们各有擅长的领域。例如,JetBrains Rider是我日常开发的首选IDE。我几乎所有的“正式”开发工作都使用它。Visual Studio对我来说基本上扮演着相同的角色,因此我不太常用它,只是偶尔在一些与Azure(以及其他方面)深度集成能派上用场的事情上会用到。
然后就是VS Code。VS Code过去一直是一个快速、轻量级的编辑器。它对各种任意语言都有足够好的通用语法高亮,当我只想为博客文章快速拼凑一个控制台应用程序时,它的.NET集成也“足够好”,而且它其实是一个相当不错的Markdown编辑器。
但是最近,VS Code开始让我感到越来越烦。我说不清具体是什么问题,就是一些小事……
首先,老实说,主要的不满点是VS Code感觉不像以前那么灵敏了。虽然不至于糟糕透顶,但我现在会特意避免安装太多扩展,因为这只会加剧问题。我希望能够在资源管理器中编辑一个文件,然后让它立刻弹出,而不是必须等待5秒窗口才出现。
另一个最近让我烦恼的事情,讽刺的是,正是“改进的.NET支持”——通过C# Dev Kit实现的。让我恼火的体验与Visual Studio坚持的那个恼人功能一样:到处创建.sln文件。文件夹里明明有一个足够好的.csproj文件!别再创建无用的.sln文件了!
显然我明白它为什么这样做,但我压根不想要这种行为。我也不关心“解决方案资源管理器”窗口——如果我需要那种视图,我会用Rider这样的真正IDE。VS Code,你为什么就不能安分地做个编辑器呢?!
我还有其他一些更小的不满,但既然这些抱怨没什么建设性,我们继续往下说。
我确实喜欢VS Code的一点是它的Markdown编辑体验。我使用Markdown All in One扩展、Spell Right和Word Count,它满足了我所有的需求。
所以总的来说,我对作为编辑器的VS Code感到有些失望。它仍然比我以前用过的任何编辑器都好,但它已不是我曾经认为的那个“宠儿”了。就在这时,我的一位同事提到他们一直在使用(并且很享受)Zed。
Zed能取代VS Code吗?
Zed是我在changelog播客上听过几次的编辑器。它很有趣,因为它是由Nathan Sobo创建的,这位开发者之前在GitHub从事Atom的开发工作,但Zed却走向了完全不同的方向。当Atom使用Chromium和Node(并催生了如今许多应用使用的Electron框架)时,Zed却截然不同。它用Rust构建,旨在追求极致的速度。
从学术角度来看,Zed很有趣,但对我而言并不太实用,原因如下:
- 它不支持Windows(直到最近才支持)!
- 它的一大卖点是“协作”,这对一个编辑器来说我并不感兴趣。
- 他们已经很大程度上将Zed转向AI应用,同样,我对编辑器的AI功能不感兴趣。
但随后,在2025年10月,Zed发布了Windows版本。在工作中的一位同事告诉我他们有多喜欢它之后,我决定尝试一下,看看它是否能取代我日常使用的VS Code。
提醒一下,我真正想要的是一个这样的编辑器:
- 速度快。
- 与Markdown配合良好。
- 能处理小型.NET项目(当打开完整IDE太慢时!)
于是,我把Zed安装到我的个人电脑上,并进行了尝试!
为Windows安装Zed
要安装Zed,请访问 https://zed.dev/windows,然后点击下载按钮(或者直接按W键!)
这会下载安装程序,这是一个相当标准的流程,它包含了将Zed添加到资源管理器右键菜单等常见选项(这对我的使用场景来说很理想)。
第一次运行Zed时,你会看到一些基本自定义选项:
能够基于其他知名编辑器设置你的按键映射,并从其他编辑器导入设置,这是一个非常巧妙的上手技巧。
我选择从VS Code导入我的设置:
(附有导入VS Code设置选项的截图)
完成设置后,你将进入默认的欢迎界面,总体看起来与VS Code的体验非常相似。你有“入门”操作、可用快捷键的说明,以及周围的各种工具栏:
(附有Zed欢迎界面截图的描述)
这时,我通常只是打开几个文件四处看看,稍微输入一些内容,我必须说,第一印象非常深刻。它非常流畅和迅捷。说真的,与VS Code相比,它感觉快多了。这是个好的开始!😄
为Zed添加C#支持
与VS Code非常相似,Zed是围绕各种协议构建的,并将其大部分核心功能委托给扩展。有主题扩展、图标包扩展、语言扩展……不胜枚举!你可以使用与VS Code相同的快捷键Ctrl+Shift+X打开扩展窗口(至少,假设你使用的是VS Code快捷键!)
要添加C#支持,请打开扩展窗口,搜索C#,然后安装由fminkowski开发的C#扩展。该扩展使用Omnisharp语言服务器来提供语言支持。这本质上与微软转向C# Dev Kit扩展之前,原版VS Code C#扩展的后台实现相同。
安装扩展后,你就能获得C#代码的语法高亮以及重构选项,正如你在VS Code中所期望的那样,尽管这些功能可能比VS Code C# Dev Kit提供的选项更有限。
这是在Zed中实现.NET编辑功能最重要的部分,但我也调整了主题以更符合我的习惯。我安装了JetBrains Rider主题和JetBrains New UI图标主题,不过后者似乎没有为C#文件提供特殊图标,这有点遗憾。
无论如何,目前编辑.NET的情况就是这样;让我们来看看Markdown。
添加Markdown支持
好消息是Zed内置了对Markdown的支持,所以你不需要安装任何东西。不过,它的功能相对比较基础:
(附有Zed中Markdown编辑界面描述的截图)
你可以获得Markdown文本的语法高亮和一个预览窗格,但除此之外没有太多其他功能(后面会详述)。对我来说,我添加的一个关键扩展是拼写检查器。我添加了CodeBook,这个扩展实际上设计用于在代码内部而不是Markdown中进行拼写检查,但至少它确实能在Markdown中工作。
但问题是,我坚持用它了吗?我用Zed写了这篇文章吗?
尝试Zed后的第一印象
简短的答案是,不,我没有坚持使用Zed,而是回到了VS Code。原因有很多,我稍后会详细说明,但在开始吹毛求疵之前,我认为有必要强调一下它的优点。
优点
Zed使用起来感觉非常流畅。它打开速度快,在文档之间切换如闪电般迅速,甚至打字感觉也比VS Code快得多。切换文件夹/工作区的速度快得惊人😮。性能这东西,只有自己亲自尝试过,才意识到自己之前错过了什么!😀
此外,我对Zed在构建和设计上倾注的心血印象深刻。在我使用它的相对较短的时间内,我真的没有遇到任何错误或问题,而且它试图适应VS Code和其他编辑器用户的上手过程,是一个非常贴心的设计。
我放弃Zed的原因几乎都是因为缺少某些功能,而不是其他问题。所以现在让我们来谈谈那些缺失的功能。
.NET支持不错,但缺少Razor支持
首先,编辑.NET,在大多数情况下,都能正常工作。我的意思是,就像在VS Code中工作一样,这基本上就是我想要或需要的全部。我并不打算用Zed取代Rider,所以我不需要一个完整的IDE。
缺失的部分是似乎对Razor或.cshtml文件没有任何支持,我认为这是Omnisharp的限制。如果是这样的话,恐怕它可能永远不会有了🙁。这实际上并非针对Zed或Omnisharp项目的批评;Razor是一种众所周知的难以处理的格式,因为它在一个文件中包含了多种语言:HTML、C#、Blazor @语法、CSS、JavaScript等。而且对我来说,这并不算大问题;Zed只是我的编辑器,我通常不会在编辑器中折腾Razor页面。
所以总的来说,对于.NET来说,Zed“足够好”,可以成为我的首选编辑器。不幸的是,Markdown的情况并非如此。
Markdown缺失太多功能
体验过.NET支持后,我对Zed相当乐观,因为我认为那会是难点,但不幸的是,最终还是被其Markdown支持所拖累。
Zed对Markdown有第一方的支持,但缺少很多我在VS Code写作时习惯使用的功能。其中许多功能是我使用的扩展提供的,但它们带来了非常流畅的写作体验:
- 像Ctrl+B这样的快捷键来加粗当前单词。Zed社区已经有人请求此功能,但目前尚未实现。
- 标题和其他元素的“代码折叠”。这些功能让你可以隐藏部分内容,就像折叠代码中的方法一样。
- 对内部链接和图像(当然是通过快捷键添加的!)的“智能感知”。
- 图片在预览窗格中渲染。
- 当你滚动源代码页面时(不移动光标),预览窗口也会随之滚动。
然而,Markdown的最大问题是Zed会不断为你当前正在输入的单词弹出建议。这非常分散注意力,在编写Markdown文档时毫无价值,坦率地说,这让我觉得它不可用。
这些看起来都是小问题,它们确实是,但它们共同构成了一个流畅的体验,更重要的是,这是我习惯的体验。我写这个博客的时间已经足够长,以至于不值得抛弃近十年的肌肉记忆😅。话虽如此,这些大多是小功能,以后完全可以添加或解决,所以我肯定会继续关注它。
很多快捷键没有移植过来
关于肌肉记忆这个话题,我最初遇到的一个大问题是意识到自己本能地使用了多少快捷键。当你按下一个快捷键,期望它(例如)在下一行创建一个新光标,结果它却切换到一个完全不同的文档时,这会让人非常困惑😅。这都不是什么大问题,因为基本上所有的键盘快捷键你都可以自定义。
我也不完全确定这些快捷键是在“从VS Code导入按键映射”阶段没有被映射,还是它们不属于VS Code的“核心”功能或其他原因。
无论如何,为了更接近我在VS Code中的使用习惯,我目前已经添加了以下映射:
|
|
这引出了最后一点。
房间里的大象:AI
正如我已经提到的,我不想要也不需要我的编辑器里有AI。然而,无论你是否愿意,每家公司都必须在他们的产品中添加AI。这就是我们这个时代的潮流。VS Code和Visual Studio也是如此。但Zed的好处是,如果你不想要它,你可以直接禁用它:
(附有Zed设置中禁用AI选项描述的截图)
或者,你可以将所有的设置以JSON形式编辑。以下是我目前的设置:
|
|
差不多就是这样了。
总而言之,我今天还不会用Zed取代VS Code。但我完全可以预见,在不久的将来,当我习惯的那些缺失的Markdown功能大部分被添加后,我会进行切换。Zed团队正在定期发布更新,他们有一个非常好的产品,即使它目前对我来说还不完全到位。
总结
在这篇文章中,我描述了自己安装Zed编辑器,并尝试用它取代VS Code的经历。特别是,我希望使用Zed来编辑.NET项目和编写Markdown文档。
.NET的体验与使用Omnisharp插件的VS Code体验非常相似,主要只缺少对Razor/Blazor的支持。
对于Markdown,我发现它缺少我在VS Code中习惯的功能,这成为了一个决定性的障碍。Zed提供了令人难以置信的快速和流畅的体验,但我目前不会切换到它。然而,如果我缺失的功能被添加进来,我会认真考虑它。