2019年,GO的發(fā)展已有十年之久。在這期間出現(xiàn)了很多能被GO語言使用的IDE,把它們都詳細(xì)介紹一遍是不現(xiàn)實的。接下來,重點介紹我比較了解幾款I(lǐng)DE。
Goland
Goland,商業(yè)公司jetbrains 近兩年推出的 Go 集成開發(fā)環(huán)境,它真的是無比強(qiáng)大。 (推薦學(xué)習(xí):go)
我相信很多程序都用過他們家的IDE,比如Java的 Intellj IDEA、PHP的PHPStorm、Python的PyCharm、C++的CLion、前端的WebStorm等。使用JetBrains的IDE,我們可以享受到它優(yōu)秀的開箱即用的體驗和 jetbrains 積累十幾年的插件體系。
前些年,也就是Goland發(fā)布之前,如果我們希望用jetbrain的IDE進(jìn)行GO的開發(fā),需要通過它提供的插件支持。Goland發(fā)布后,這些插件似乎已經(jīng)下架了。
不得不承認(rèn),Goland的功能層面做的確實非常完美。不過有幾點我想吐槽一下,首先必須要提的是,Jetbrians的IDE基本都存在著卡頓的毛病,資源消耗比較嚴(yán)重。雖然一些大牛提供了優(yōu)化方案,但體驗下來,和其他IDE依然沒有相比。
Goland的開箱即用,使它的問題很少,確實沒有多少可介紹的,裝起來基本就可以開干!
VS Code
由微軟開發(fā)的一款功能強(qiáng)大的現(xiàn)代化輕量級代碼編輯器IDE,免費開源。通過它強(qiáng)大的插件擴(kuò)展能力,VS Code幾乎支持主流語言的項目開發(fā)。毫無例外,GO也是其中之一。
為VS Code加入GO的開發(fā)能力,只需安裝一款插件即可,插件地址。安裝時,可能遇到一些問題,常見的就是,在安裝一些依賴包時會出現(xiàn)網(wǎng)絡(luò)下載失敗。關(guān)于原因就不說了,大家都明白。不過,問題還是要解決的。
舉個具體的例子吧!在GO插件時,我們會通過go get golang.org/x/tools/xxx安裝某個包,這時候大概率出現(xiàn)網(wǎng)絡(luò)連接錯誤。我們可以通從github找到對應(yīng)的倉庫,golang/tools,然后使用git命令下載后,放在GOPATH指定的目錄下,然后再安裝即可。
最后,插個題外話,VS Code使用的是Electron開發(fā)的,Electron是用HTML,CSS和JavaScript來構(gòu)建跨平臺桌面應(yīng)用程序的一個開源庫,NodeJS與Chromium的結(jié)合。因此,利用瀏覽器的特性,利用VS Code,我們能實現(xiàn)很多奇葩的插件,例如下面這些插件。
Vim GO
細(xì)究起來,vim應(yīng)該是一款文本編輯器,但它卻擁有了很多不該屬于文本編輯器的能力,比如單詞補(bǔ)全、ctags標(biāo)簽跳轉(zhuǎn)、窗口分隔、崩潰文件恢復(fù)、文件diff、400多種文本高亮等。最重要的一點是,vim有一套自己的腳本語言,這為它通過插件擴(kuò)展自己的能力提供了可能。
將vim擴(kuò)展成一款適合自己使用的GO IDE,不僅要編寫許多復(fù)雜的配置與腳本,還需要各種插件的相互配合,才能實現(xiàn)我們的目標(biāo)。