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