7 个 VS Code 的开源替代品

避免使用微软的专有 VS Code 构建版本,转而选择开源代码编辑器。
165 位读者喜欢这篇文章。
Person using a laptop

Visual Studio Code,也称为 VS Code,是一款适用于 Linux、Windows 和 macOS 的代码编辑器。它是一种介于编辑文本和管理整个代码库之间的编辑器,类似于集成开发环境 (IDE)。它可以通过插件扩展,并已被证明是一款可靠的文本编辑器,可以轻松击败强大的非开源竞争对手编辑器。

微软以开源形式发布了 VS Code,但您从微软下载的版本并非开源。但是,您有多种选择可以使用开源的 VS Code 或选择其开源替代品之一。

将 VS Code 构建为开源

VS Code 的源代码在 GitHub 上可用。然而,当您从 Microsoft 下载 VS Code 应用程序时,您会发现您的下载获得了 Microsoft 软件许可。这不是一个开源许可证。区别在于构建过程。

VS Code 项目的微软开发者 Chris Dias 在 一篇评论中 将 VS Code 与 Chrome 浏览器及其开源“上游”项目 Chromium 进行了比较。VS Code 确实是基于开源代码库构建的。官方的微软品牌版本通过微软特定的功能进行了定制,包括商标、扩展库、专有的 C# 调试器和遥测技术。但是,当您自己克隆并构建代码时,这些目标都不会配置,因此您会生成一个“干净”的版本,称为 Code - OSS(OSS 代表开源软件)。

实际上,VS Code 和 Code - OSS 之间的差异很小。最值得注意的是,VS Code 包含遥测技术,即跟踪软件。微软不太可能真的在跟踪您的一举一动,而且现在有很多软件都在收集使用数据。您是否在意 VS Code 的遥测技术取决于您自己。如果您不想进行使用情况跟踪,这里有一些很棒的(而且是开源的)VS Code 替代品。

VSCodium

VS Code 最简单的替代品是 VS Code 本身,它是没有微软专有附加组件的版本。VSCodium 项目提供了 Code - OSS 的可下载可执行文件,它是从 VS Code 代码库构建的,没有微软的 product.json 更改。VSCodium 开发者还竭尽全力停用所有难以找到的遥测选项,从而提供您可以找到的最干净的 VS Code 源代码构建版本,而无需自己构建。

VSCodium 警告说,VS Code 静默地包含了一些专有工具,这些工具无法随开源构建版本一起发布。这包括 C# 调试器和一些库扩展。如果您需要它们,文档中记录了这些问题的解决方法,但如果您依赖于 VS Code 中的某些非常具体的功能,则应验证它在 VSCodium 中是否能正常工作。

您还应该验证是否所有 遥测技术都已停用

Code - OSS

如果您不想使用 VSCodium 的构建版本,您可以从源代码编译 VS Code,最终得到相同的东西。可执行文件称为 Code - OSS 而不是 VSCode,并且适用于 VSCodium 的许可限制也适用于您的构建版本,但解决方法也同样适用。

如果您从源代码构建应用程序,则应在首次启动时验证是否所有 遥测技术都已停用

Atom

Atom 是一款开源的类 IDE 文本编辑器,微软在收购 GitHub 时获得了它。与 VS Code 类似,您可以使用插件扩展 Atom 编辑器,并使用主题和您独特的工具组合对其进行自定义。它也是跨平台的,并具有内置的 GitHub 集成。简而言之,只要您需要的扩展程序已经存在,或者您愿意编写它们,Atom 就可以满足您的任何需求。

与 VS Code 类似,Atom 默认情况下也包含 指标跟踪。这可以禁用,并且与 VS Code 不同,扩展程序没有任何任意限制,因此您无需为了保护隐私而更改工作流程。Atom 当然是程序员的有用工具,但对于 任何使用计算机的人来说,它也是一个非常出色的编辑器。如果您正在寻找一款通用的文本编辑器,不妨尝试一下 Atom。

GNOME Builder

GNOME Builder 作为 GNOME 桌面的 IDE 开发,是一款适用于 Linux 的代码编辑器,专门用于构建 GNOME 应用程序。如果您正在为 Linux 构建应用程序,并且想要一种简单的兼容途径,那么 Builder 是一个简单的选择。从 Flathub.org 安装 Builder;当您启动一个项目时,即使您缺少 GNOME SDK,它也会提示您安装。这意味着您不必在维护应用程序时有意识地跟踪 GNOME,因为 Builder 会为您完成这项工作。

但是,Builder 的用途远不止 GNOME 应用程序。它支持数十种编程语言,包括 Python、Rust、C 和 C++、Java、Go、JavaScript、TypeScript、VB.NET、多种标记语言和 Markdown 语言等等。其中一些语言具有完整的支持,包括自动完成和弹出式函数定义,而另一些语言仅具有简单的便利功能,例如语法高亮和自动括号匹配。不过,无论您认为自己是认真的程序员,还是只需要一个好的 HTML 和 CSS 编辑器,这款 IDE 都让人赏心悦目。

Geany

Geany 是一款功能强大、稳定且轻量级的编辑器,具有有用的功能,可帮助您编写出色的 Bash、Python、Lua、XML、HTML、LaTeX 等代码。它为 50 种不同的编程和脚本语言、标记语言和各种文件类型(例如 .diff 和 .po)提供了充足的支持。至少,Geany 几乎肯定会提供括号匹配和语法高亮——而且通常会提供更多功能。

Geany 是一款不起眼的编辑器,但通过插件,您可以添加项目视图面板、文件系统树、调试、终端等等功能,直到它看起来和行为都像一个 IDE。或者,如果您愿意,也可以保持它的简洁和低调。如果您由于 CPU 或 RAM 的限制而无法在计算机上运行 VS Code,那么 Geany 显然是一个不错的替代品。它启动速度很快,内存占用量可以忽略不计。虽然 Geany 比在终端中运行 Vim 稍重一些,但即使在 Raspberry Pi 上,它也运行快速而流畅。

Brackets

Brackets 是一款面向 Web 开发人员的文本编辑器和 IDE。它对 HTML、CSS、JavaScript、PHP 甚至 Python 提供了强大的支持。但是,与 VS Code 类似,它也拥有丰富的扩展生态系统,因此您可以扩展它,使其成为您最常用的任何语言的工作台。

有一些扩展程序可以帮助解析语言、运行脚本,甚至编译和执行代码。Brackets 具有任何人都能理解的传统界面,无论您是否熟悉 IDE,甚至是超出简单记事本的文本编辑器。如果您花一点时间添加相关的扩展程序并了解它们,您会发现 Brackets 是一款有用且巧妙的编辑器,它可以通过自动完成和 linting 来帮助您避免在键入任何内容时犯愚蠢的错误。如果您正在编写代码,它可能会加快您的测试和调试工作流程。

Che

如果您喜欢走在技术前沿,Che 是一款您需要尝试的编辑器。它是一款基于云的 IDE,因此默认情况下以软件即服务 (SaaS) 的形式运行,但它是完全开源的,因此只要您拥有 Kubernetes 实例,就可以将其作为您自己的 SaaS 运行。

Che 不仅仅是一个在线 IDE,它还是一个为云开发而构建的 IDE。它不假设您期望或想要查看本地文件系统。它在云中生存和工作,您也可以如此。事实上,如果您有一个 Git 服务器,您可以将其视为您的文件系统,并直接从其存储库中处理项目。当然,如果您喜欢拥有本地备份副本,您也可以下载您所做的任何工作。

但其主要功能,也是云开发者感到兴奋的功能是,Che 是一款功能齐全、Kubernetes 感知且开源的 IDE。如果您正在为云构建应用程序、站点或容器(或三者的组合),那么 Che 是一款您需要尝试的编辑器。

您的选择是什么?

您是否正在使用这些 VS Code 的替代品之一?有没有您想尝试的?请在评论中分享您的反馈。

接下来阅读什么
标签
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算机行业工作,而且经常同时从事这两个行业。

33 条评论

当然是 GNU Emacs。但它不是替代品,它是独一无二的。

我同意。Emacs 是最好的。
我使用 spacemacs 以避免配置方面的麻烦。它运行起来非常棒。

回复 ,作者:dogsleg

不要因为我是 XEmacs 用户而讨厌我,但这在这里适用。多年前在 slashdot 上看到的:“Emacs 是一款出色的操作系统,但它缺少一个好的编辑器”

回复 ,作者:dogsleg

Eclipse 怎么样?

我考虑过包含 Eclipse,但最终选择了 Che,因为 Che 非常先进,而且感觉比普通的 Eclipse 更像 VSCode。我认为真正的区别在于配置工作流程,但这只是我的个人观点。

Eclipse 绝对是一个不错的选择。实际上,有人认为任何 IDE 都比 VSCode 更好,VSCode 实际上并不声称自己是 IDE,而只是一个文本编辑器。

回复 ,作者:girish_managoli

当然是 Vim

对吧?当我浏览列表时,我在想 - 他们会把最好的留在最后。
但是没有,没有提到 vim,拜托!

回复 ,作者:Linux 用户 (未验证)

我没有将 Vim 作为替代品包含在内,因为我在其他地方对其进行了广泛介绍,例如

https://open-source.net.cn/resources/what-vim

https://open-source.net.cn/article/20/2/how-install-vim-plugins

我在此上下文中对“替代品”的定义基于配置和插件工作流程。虽然 Vim 非常容易扩展(有什么比 .rc 文件更简单的呢?),但我感觉对于正在寻找 VSCode 替代品的人来说,这不一定很熟悉。这并不是*坏事*,但我试图在一些约束条件下工作,以此来聚焦文章,并防止它成为“清单式”的列出实际上存在的每个其他文本编辑器。

回复 ,作者:dirk dierickx (未验证)

Theia 怎么样?我认为它与 VSC 非常相似

Theia 是用于构建 IDE 的平台。
本文中包含的 Che 是一款 IDE。
两者都是 Eclipse 项目,但我认为 Che 更适合作为替代品,因为它是一款随时可用的 IDE。

回复 ,作者:Fabián (未验证)

www.theia-ide.org 应该在这里提及。它是开源的,可以在浏览器中或本地运行。

此外,www.gitpod.io 提供了托管版本,或者您可以自己托管。

已确认。

Theia 是用于构建 IDE 的平台。
本文中包含的 Che 是一款 IDE。
两者都是 Eclipse 项目,但我认为 Che 更适合作为替代品,因为它是一款随时可用的 IDE。

回复 ,作者:Mike Nikles (未验证)

带有 CoC nvim 的 NeoVim。这是我能想到的最好的工具。它可以节省我的 Thinkpad X240 的电池续航时间,但同时拥有 VS Code 的智能感知,说实话这很棒。哈哈。

我已经将 Atom 用于一些基本操作!很高兴知道有这么多可用的选项。我已经在使用 Android Studio 了,正在寻找一些“绘制”Android XML 的选项/插件,但没有找到。如果您有任何建议,请告诉我 =)

Comodo edit 怎么样?

所以,让我弄清楚:仅仅 MS 发布了 VS Code 的源代码还不够,您还想阻止人们使用包含遥测技术的打包版本,因为... 原因?我个人很感谢 MS 将其开源,并在其编辑器周围建立了一个健康的生态系统。遥测技术?没问题,我希望它能让编辑器变得更好。这种狂热主义让我想起了某人... 哦,替我向 RMS 问好。

开源的优势之一是有很多免费的替代品。本文的重点不是阻止任何人使用微软的构建版本,而只是澄清微软发布的 VSCode 没有获得 OSI 批准的许可,并且确实具有遥测技术和一些专有的扩展程序。如果您正在寻找替代品,本文(和许多评论)列出了几个。如果不是,您可以自由使用您喜欢的任何东西。如果开源没有这种灵活性,我会感到失望。

感谢您的阅读和评论!

回复 ,作者:impaque (未验证)

Bluefish

Sublime Text 怎么样?

Sublime 完全不是开源的。

回复 ,作者:Swapnil Ag (未验证)

这篇文章没有意义,vscode 仍然是开源的

您在某种程度上是对的:VSCode 的源代码是可用的。您可以从源代码构建一个名为“Code -OSS”的应用程序,或者您可以下载别人的构建版本(称为 VSCodium)。微软的构建版本包含遥测技术和一些不是开源的扩展程序,因此它是在非 OSI 许可下许可的。

感谢您的阅读和评论!

回复 ,作者:Vinicios de Li… (未验证)

Apache NetBeans。它是一款出色的完全开源的 IDE。

它在我的备选清单上,但我最终决定不包含它,因为它的工作流程与 VSCode 差别太大。正如我在之前的评论中所说,我认为有人会认为 VSCode 不认为自己是 IDE(即使有一些扩展程序可以帮助它像 IDE 一样工作),因此 Netbeans 完全是另一个类别。

回复 ,作者:Laszlo Kishalmi (未验证)

几乎尝试了所有这些,brackets 是一个小型应用程序,对我来说已经足够了。非常适合从头开始进行 Web 开发。
我使用专有软件进行应用程序开发。

我喜欢 Apache Netbeans。在 Apache 发布它之后,速度更快了,虽然没有 vsc 那么快。对于 php 和 js,我发现它更容易使用,并且可以轻松获得必要的功能

我也是 Netbeans 的粉丝。我最近一直在使用它进行 Java 开发,没有任何抱怨。

回复 ,作者:Vinu Felix (未验证)

我错过了 Kate (KDE Advanced Text Editor),它也很棒

很好的观察。Kate 是一款很棒的编辑器,很抱歉我没有想到把它包含进来。

回复 ,作者:almaember (未验证)

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.