Visual Studio Code,也称为 VS Code,是一个适用于 Linux、Windows 和 macOS 的代码编辑器。 它是一种介于编辑文本和管理整个代码库之间的编辑器,就像一个集成开发环境 (IDE)。 它可以通过插件进行扩展,并已被证明是一个可靠的文本编辑器,可以轻松击败强大的非开源竞争对手。
微软发布了 VS Code 作为开源软件,但是您从微软下载的版本不是开源的。 但是,您有几种选择可以使用开源的 VS Code 或选择其开源替代品之一。
构建开源的 VS Code
VS Code 的源代码可在 GitHub 上找到。 但是,当您 从微软下载 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

(Seth Kenlon, CC BY-SA 4.0)
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

(Seth Kenlon, CC BY-SA 4.0)
Atom 是一个开源的、类似 IDE 的文本编辑器,微软在收购 GitHub 时获得了它。 与 VS Code 类似,您可以使用插件扩展 Atom 编辑器,并使用主题和您独特的工具组合对其进行自定义。 它也是跨平台的,并具有内置的 GitHub 集成。 简而言之,Atom 可能是您需要的任何东西,只要您需要的扩展已经存在或者您愿意编写它们。
与 VS Code 类似,Atom 默认情况下也包含 指标跟踪。 可以禁用此功能,并且与 VS Code 不同,对扩展没有任何武断的限制,因此您不必为了您的隐私而改变您的工作流程。 对于程序员来说,Atom 当然是一个有用的工具,但对于 使用计算机的任何人 来说,它也是一个非常棒的编辑器。 如果您正在寻找一款通用的优秀文本编辑器,请尝试 Atom。
GNOME Builder

(Seth Kenlon, CC BY-SA 4.0)
作为 GNOME 桌面的 IDE 而开发的 GNOME Builder 是一款适用于 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

(Seth Kenlon, CC BY-SA 4.0)
Geany 是一款功能强大、稳定且轻量级的编辑器,具有有用的功能,可帮助您编写良好的 Bash、Python、Lua、XML、HTML、LaTeX 等等。 它对 50 种不同的编程和脚本语言、标记语言和其他文件类型(例如 .diff 和 .po)提供大量的支持。 至少,Geany 几乎肯定提供括号匹配和语法突出显示,并且通常会提供更多功能。
Geany 是一款不起眼的小型编辑器,但通过插件,您可以添加诸如项目视图面板、文件系统树、调试、终端等功能,直到它看起来和行为像一个 IDE。 或者,如果您愿意,您可以保持简单和低调。 如果由于 CPU 或 RAM 的限制而无法在计算机上运行 VS Code,那么 Geany 是一个明显的替代选择。 它可以快速启动,并且内存占用可以忽略不计。 虽然 Geany 比在终端中运行 Vim 稍微重一些,但即使在 Raspberry Pi 上,它也快速而敏捷。
Brackets

(Seth Kenlon, CC BY-SA 4.0)
Brackets 是一款面向 Web 开发人员的文本编辑器和 IDE。 它对 HTML、CSS、JavaScript、PHP 甚至 Python 具有强大的支持。 但是,与 VS Code 一样,它拥有丰富的扩展生态系统,因此您可以对其进行扩展,以用作您最常用的任何语言的工作台。
有一些扩展可以帮助解析语言、运行脚本,甚至可以编译和执行代码。 Brackets 具有任何人都可以理解的传统界面,无论您是否熟悉 IDE 甚至是超出简单记事本的文本编辑器。 如果您花一些时间添加相关的扩展并了解它们,您会发现 Brackets 是一款有用且巧妙的编辑器,它可以通过自动完成和 linting 来帮助您避免在输入时犯愚蠢的错误。 并且如果您正在编写代码,它可能会使您的测试和调试工作流程更快。
Che

(Seth Kenlon, CC BY-SA 4.0)
如果您喜欢走在前沿,Che 是一款您需要尝试的编辑器。 它是一个基于云的 IDE,因此默认情况下作为软件即服务 (SaaS) 运行,但它是完全开源的,因此只要您有一个 Kubernetes 实例,就可以将其作为您自己的 SaaS 运行。
不仅仅是一个在线 IDE,Che 还是一个为云开发而构建的 IDE。 它不假设您期望或想要查看您的本地文件系统。 它在云中生活和工作,您也可以。 事实上,如果您有一个 Git 服务器,您可以将其视为您的文件系统,并直接从其存储库中处理一个项目。 当然,如果您希望拥有本地备份副本,您也可以下载您所做的任何工作。
但它最主要的特性,也是云开发者们最兴奋的一点,是 Che 是一个功能齐全、 Kubernetes 感知的开源 IDE。 如果你正在为云构建应用、网站或容器(或者三者的组合),那么 Che 是一个你绝对需要尝试的编辑器。
你选择哪个?
你是否正在使用这些 VS Code 的替代品之一? 是否有你想要尝试的? 请在评论中分享你的反馈。
33 条评论