Go 開發(fā)者 Top 6 IDE:你知道幾個(gè),又用哪個(gè)?
聲明:這里的 IDE 包括普通的文本編輯器和真正的 IDE。或者應(yīng)該叫做開發(fā)工具。
這個(gè) Top 排行,沒有直接數(shù)據(jù)支持,憑直覺的,哈哈哈哈哈。(其實(shí)也結(jié)合了部分網(wǎng)上資料,比如 2019 年官方的調(diào)查結(jié)果)。
1、VSCode
這是微軟出品的,超級(jí)棒的文本編輯器。我出過 VSCode 系列相關(guān)教程,目前我主要使用 VSCode 進(jìn)行開發(fā)。VSCode 本身不是專門針對(duì) Go 的編輯器,所以需要通過插件來支持 Go,這就是 Go for Visual Studio Code 插件,前些天更新到了 v0.22.0,默認(rèn)啟用了 gopls。
注意,目前該插件是 Go Team 維護(hù)的。官方支持,值得擁有!
有了 gopls,VSCode 寫 Go 代碼的感覺特別棒,我認(rèn)為一定程度上可以媲美 GoLand,而且它是開源免費(fèi)的呢。
2、GoLand
JetBrains 以 Intellij IDEA 和針對(duì)特定語言的 IDE 而聞名。而 GoLand 是為 Go 開發(fā)者提供的 JetBrains 解決方案。
GoLand 是一個(gè)專門為 Go 開發(fā)者構(gòu)建的跨平臺(tái) IDE。它是一個(gè)商業(yè) IDE,也就是要錢的,不過正因?yàn)橐X,它的功能特別強(qiáng)大。
比如有動(dòng)態(tài)錯(cuò)誤檢測和修復(fù)建議、一步撤銷重構(gòu)、智能代碼完成、未使用代碼檢測和文檔提示等。
此外,它還具有強(qiáng)大的調(diào)試功能,用戶友好的代碼導(dǎo)航,以及對(duì) Git、GitHub 和 Mercurial 開箱即用的支持。
目前個(gè)人用戶第一年 89 美金,后續(xù)續(xù)費(fèi)會(huì)便宜些。
可能很多人抱怨貴,但 JetBrains 還是很不錯(cuò)的,如果你有開源項(xiàng)目,可以申請(qǐng)免費(fèi) Licence;如果你是學(xué)生,也可以申請(qǐng)。
3、LiteIDE
有些人可能不知道這款 IDE,這是國人開發(fā)的,專門為 Go 語言打造的 IDE。在 2012 年我剛接觸 Go 語言時(shí),這款 IDE 就跟著出現(xiàn)了。
官方的介紹:這是一款簡單,開源,跨平臺(tái)的 Go IDE,主頁地址:http://liteide.org。
因?yàn)?LiteIDE 是為 Go 設(shè)計(jì)的,所以它為開發(fā)者提供了許多開箱即用的有用特性。其中包括可配置的構(gòu)建命令、高級(jí)代碼編輯器、代碼管理、gdb 和 Delve 調(diào)試器支持、自動(dòng)完成和 WordApi 主題化、基于 MIME 類型的系統(tǒng)等等。
作者是七葉,更新很積極,應(yīng)該擁有一批忠實(shí)的用戶。
4、Vim
作為編輯器之神,自然會(huì)支持 Go,這是通過 vim-go[1] 這個(gè)插件實(shí)現(xiàn)的。
vim-go 插件是免費(fèi)的,易于安裝,維護(hù)良好,經(jīng)常在 Github 上更新。安裝后,vim-go 將為你的 Vim 文本編輯器配備 Go 包編譯、折疊和語法高亮顯示、集成的 delve 支持,以及在用 Golang 編寫應(yīng)用程序時(shí)可能需要的其他功能,Vim 可擴(kuò)展性特別強(qiáng)。
此外,作者維護(hù)了較好的文檔[2],有問題可以得到較好的支持。
5、Sublime Text
曾經(jīng) Sublime Text 風(fēng)光無限,自從 VSCode 出來后,受到了極大的沖擊。如果你是 Sublime Text 愛好者,通過 GoSublime 插件可以進(jìn)行 Go 開發(fā)。
值得注意的是,你可能需要一些額外的插件來充分發(fā)揮 Sublime Text 作為 Go IDE 的作用。比如 Golang Build package[3],它是用于 Go Build 系統(tǒng)集成的官方 Sublime Text package。
6、Atom
這是 GitHub 出品的。它是一個(gè)輕量級(jí)框架,通過大量插件,來豐富其功能。
如果你是 Atom 的愛好者,可以通過 Go-plus[4] 插件來支持 Go 開發(fā)。
該插件提供了構(gòu)建流程、lints、vet 和覆蓋測試等工具。此外還有自動(dòng)完成、格式化、測試和文檔功能。
總結(jié)
除了上面介紹的 6 款(它們都是跨平臺(tái)的),在這篇文章[5]看到了另外一款:Zeus IDE[6]。這個(gè)國內(nèi)應(yīng)該很多人都沒聽過,這是 Windows 上的一款 IDE,Windows 的用戶可以試試。
注意,Eclipse 上的 Go 插件已經(jīng)不維護(hù)了,所以大家別用 Eclipse 開發(fā) Go 了。
最后問一句,有人使用 Emacs 開發(fā) Go 嗎?
本文轉(zhuǎn)載自微信公眾號(hào)「polarisxu」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系polarisxu公眾號(hào)。