VS Code 的 7 個(gè)開源替代品
Visual Studio Code,也叫 VS Code,是一個(gè)跨平臺(tái)代碼編輯器,通用于 Linux、Windows 以及 macOS。它既能編輯簡(jiǎn)單文本,也能像集成開發(fā)環(huán)境(IDE)一樣管理整個(gè)代碼庫。它可以通過插件進(jìn)行擴(kuò)展,并且已經(jīng)被證明是一個(gè)可靠的文本編輯器,很輕松地就擊敗了非開源的強(qiáng)大競(jìng)品編輯器。
微軟以開源的方式發(fā)布了 VS Code,但是你從微軟下載的版本其實(shí)并不是開源的。然而,你仍有辦法以開源的方式使用 VS Code,或者直接選擇其它的開源替代品。
以開源的方式構(gòu)建 VS Code
你可以在 GitHub 獲得 VS Code 的源代碼。然而當(dāng)你 從微軟 下載 VS Code 時(shí),你會(huì)發(fā)現(xiàn)它是基于 微軟軟件許可證 授權(quán)的。這并不是一個(gè)開源許可證。其區(qū)別在于構(gòu)建過程。
Chris Dias 是微軟 VS Code 項(xiàng)目開發(fā)者之一,他對(duì) VS Code 作了一個(gè)對(duì)比,就像 Chrome 瀏覽器和其開源的“上游”項(xiàng)目 Chromium 一樣。VS Code 確實(shí)是基于開源代碼庫構(gòu)建的。微軟官方發(fā)布的版本帶有一些與微軟相關(guān)的功能,包括一項(xiàng)商標(biāo)、一個(gè)插件庫、一個(gè) C# 調(diào)試器以及遙測(cè)。但如果你克隆倉庫然后自行編譯,這些東西都不會(huì)被加入,所以你會(huì)得到一個(gè)名為 Code - OSS 的“干凈”版本(OSS 代表開源軟件)。
實(shí)際上,VS Code 與 Code - OSS 之間的差異很小。最值得注意的是,VS Code 包含遙測(cè)功能,它會(huì)記錄使用數(shù)據(jù)。微軟不可能監(jiān)控你的一舉一動(dòng),而且目前越來越多軟件都在收集使用數(shù)據(jù)。是否在乎 VS Code 的遙測(cè)功能,完全取決于你自己。如果你不希望它追蹤你的使用情況,這里有一些很棒的 VS Code(開源)替代品。
VSCodium
Code OSS screenshot最簡(jiǎn)單的替代方案就是構(gòu)建不帶微軟附屬功能的 VS Code 版本。VSCodium 項(xiàng)目提供了可下載的 Code-OSS 可執(zhí)行文件,它基于 VS Code 代碼庫編譯,沒有配置微軟的 product.json 中的改變。VSCodium 的開發(fā)者還竭盡全力禁用了所有難以尋找的遙測(cè)選項(xiàng),除非你自行編譯,否則這已經(jīng)是你能找到的最干凈的 VS Code 版本了。
VSCodium 提醒說,VS Code 悄悄地包含了一些專有工具,這些工具無法與開源版本一起提供。這包括一個(gè) C# 調(diào)試器和部分插件。如果你需要它們,可以在 [文檔中] 找到解決辦法。假如你依賴 VS Code 中某些特定的功能,你應(yīng)該驗(yàn)證它在 VSCodium 中是否可以發(fā)揮功用。
此外,你還應(yīng)該驗(yàn)證是否已禁用所有的遙測(cè)功能。
Code - OSS
如果不想用 VSCodium 的版本,你可以自己 從頭編譯 VS Code,得到一樣的版本??蓤?zhí)行文件叫做 Code - OSS,而不是 VSCode,適用于 VSCodium 的許可證限制也適用于你的構(gòu)建,而工作方式也是一樣。
如果通過編譯源碼構(gòu)建應(yīng)用,首次啟動(dòng)時(shí)你要確保 [所有遙測(cè)都已經(jīng)被禁用]。
Atom
Atom screenshotAtom 是一個(gè)類似于 IDE 的文本編輯器,當(dāng)微軟收購 Github 的同時(shí)也收購了它。和 VS Code 一樣,你可以使用插件,擴(kuò)展 Atom 編輯器,此外,你還能通過自己的工具和主題實(shí)現(xiàn)定制。它開源且與 Github 集成。簡(jiǎn)而言之,只要你能找到你想用的插件,或者你愿意自己動(dòng)手寫,那么 Atom 幾乎可以滿足你的一切需求。
跟 VS Code 一樣,Atom 也 默認(rèn)包含遙測(cè)。你可以禁用這個(gè)功能,而且跟 VS Code 不同的是,使用插件不受任何限制,所以不必再因?yàn)殡[私改變你的工作流。對(duì)寫代碼的人來說,毫無疑問 Atom 是很有用的工具,而對(duì)于 使用電腦的任何人,它同樣會(huì)是一個(gè)很贊的編輯器。如果你需要一個(gè)順手的通用文本編輯器,請(qǐng)?jiān)囋?Atom。
GNOME Builder
GNOME Builder screenshot為 GNOME 桌面而開發(fā)的 IDE,GNOME Builder 是一個(gè) Linux 平臺(tái)的代碼編輯器,專門用于構(gòu)建 GNOME 應(yīng)用。如果你為 Linux 構(gòu)建應(yīng)用程序,希望輕松解決兼容性問題,那么 Builder 就是最簡(jiǎn)單的選擇。從 Flathub.org 安裝 Builder;當(dāng)你開啟一個(gè)新項(xiàng)目,如果沒有安裝 GNOME SDK,它會(huì)提醒你。這意味著當(dāng)維護(hù)你的應(yīng)用時(shí),你不必刻意關(guān)注 GNOME 的狀態(tài),因?yàn)?Builder 在替你做這件事。
然而,Builder 不僅能構(gòu)建 GNOME 程序。它還支持各種各樣的編程語言,包括 Python、Rust、C/C++、Java、Go、JavaScript、TypeScript、VB.NET、Markdown 和幾種標(biāo)記語言等等。它對(duì)部分語言有全面的支持,包括自動(dòng)補(bǔ)全以及彈出式函數(shù)定義,但是其它語言僅僅含有一些比較方便的功能,例如語法高亮跟自動(dòng)匹配括號(hào)。不管你是不是一個(gè)專門的程序員,或者你只想要一個(gè)給力的 HTML 和 CSS 編輯器,這個(gè) IDE 都能讓你舒心使用。
Geany
Geany screenshotGeany 是一個(gè)強(qiáng)大、穩(wěn)定而輕量級(jí)的編輯器,它有很多有用的特性,能幫你寫 Bash、Python、Lua、XML、HTML、LaTex,當(dāng)然遠(yuǎn)不止這些。對(duì) 50 種各種編程及腳本語言、標(biāo)記語言和各種文件類型(比如 .diff 和 .po),Geany 都有很好的支持。退一萬步講,Geany 還有括號(hào)匹配和語法高亮 —— 通常來說,它包含更多功能。
Geany 是一個(gè)小型編輯器,但是通過插件,你可以為它添加特性,例如項(xiàng)目視圖面板、文件系統(tǒng)樹、調(diào)試、終端等,直到它看起來像一個(gè) IDE。當(dāng)然,蘿卜白菜各有所愛,你也可以盡量使它保持簡(jiǎn)潔易用。如果因?yàn)殡娔X CPU 或者內(nèi)存的限制而無法使用 VS Code,那么很明顯 Geany 可以作為你的選擇。它只占用少量?jī)?nèi)存,而且啟動(dòng)迅速。即便跟運(yùn)行在終端里的 Vim 相比,Geany 稍顯笨重,但就算在樹莓派,它也能做到快速、靈活。
Brackets
Brackets screenshotBrackets 是一款面向網(wǎng)頁開發(fā)者的文本編輯器和 IDE。對(duì)于 HTML、CSS、JavaScript、PHP 甚至 Python,它都有很強(qiáng)大的支持。而且跟 VS Code 一樣,它也有一個(gè)很豐富的插件生態(tài),所以你可以最大限度地?cái)U(kuò)展它,以適應(yīng)你所有編程語言的工作。
有的插件用于輔助解析語言、運(yùn)行腳本,甚至編譯執(zhí)行代碼。Brackets 有一個(gè)傳統(tǒng)的界面,不管你是否熟悉 IDE 或者像記事本一樣簡(jiǎn)單的文本編輯器,都能駕輕就熟。如果稍微花點(diǎn)時(shí)間,添加幾個(gè)相關(guān)插件,然后熟悉它們,你會(huì)發(fā)現(xiàn) Brackets 真的是一個(gè)很精妙、很有用的編輯器,不管你輸入什么,它都能通過自動(dòng)補(bǔ)全、提示幫你避免低級(jí)錯(cuò)誤。假如你是程序員,它能幫你加快測(cè)驗(yàn)和調(diào)試周期。
Che
Che screenshot如果你喜歡新技術(shù),那你應(yīng)當(dāng)嘗試 Che 編輯器。這是一個(gè)基于云的 IDE,所以它默認(rèn)以軟件即服務(wù)(SaaS)的形式運(yùn)行,但它是完全開源的,如果你有 Kubernetes 實(shí)例,那就可以運(yùn)行為你自己的 SaaS。
Che 不僅是一個(gè)在線 IDE,而且是一個(gè)為云開發(fā)而構(gòu)建的 IDE。在 Che 的概念里,用戶無需查看本地文件系統(tǒng)。由于它在云端工作,所以你也可以這么做。事實(shí)上,如果你有一臺(tái) Git 服務(wù)器,那就可以直接把它當(dāng)作你的文件系統(tǒng),在它的倉庫中完成你的項(xiàng)目。當(dāng)然,你也可以下載所有文件做本地備份。
但 Che 的主要特點(diǎn),也是云開發(fā)者最為興奮的一點(diǎn),它是一個(gè)功能全面、帶有 Kubernetes 感知功能的開源 IDE。如果你正在為云構(gòu)建應(yīng)用、網(wǎng)站或容器(或三者的組合),那么 Che 是一個(gè)你需要嘗試的編輯器。