引言
上篇Golang學習筆記-環境搭建指南已經講解了如何搭建Golang開發環境,並寫了一個Go程式【Hello,world】,但是寫代碼沒有一個好用的IDE,沒有文法高亮,自動補全,格式調整,尋找函數等功能,想必也會令大家抓狂吧,筆者以前是做Java和.Net開發的,經常用的IDE有Eclipse、IntelliJ IDEA和Visual Studio,其中Eclipse和IntelliJ IDEA能安裝很多外掛程式,自然想到是否能在Eclipse和IntelliJ IDEA上安裝支援Go語言開發的外掛程式,搜一下外掛程式還真有,廢話不多說,直接進入IDE安裝過程吧。
IntelliJ IDEA安裝Go語言外掛程式
首先你的安裝好IntelliJ IDEA,具體安裝過程這裡不表,不懂請百度,筆者的IDEA版本是2017.1.5
IDEA Version
點擊【File】-【Settings】
menu
選擇【Plugins】-【Install JetBrains plugin…】
install plugins
輸入【go】,選擇【Go Languages】,然後點擊【Install】,需要注意的是,這裡只支援Go 1.9版本,筆者安裝的是1.11版本,使用該外掛程式不相容。
install
安裝完成後重啟IDEA
restart idea
重啟之後選擇【File】-【New】-【Module】
new module
現在能看到能建立Go語言項目了,但是我們這裡還需要配置SDK,選擇Go的安裝目錄
Create Go projectnew module
接下來需要設定GOPATH,其實就是Go的工作目錄
Gopath.png
因為筆者安裝的是1.11版本的Golang,所以沒有具體測試該外掛程式是否可用,其實JetBrains針對Go語言專門開發了一款IDE,GoLand
安裝GoLand
首先進入GoLand下載頁下載最新版本的IDE,筆者下載的是2018.2.2版本,下載完成後直接安裝,安裝好了之後輸入license就可以開始使用了
GoLand
如果你之前使用IntelliJ IDEA開發Java,你會發現GoLand快速鍵和IntelliJ IDEA的一樣,上手非常容易。
LiteIDE
LiteIDE 是一款簡單、開源、跨平台的 Go 語言識別碼E。在soureceforge上提供了下載地址
download liteide
筆者下載的是34.1的Windows版本,下載完成後直接解壓即可,解壓後雙擊bin目錄下的liteide.exe,開啟後先設定編輯環境,因為我使用的64位作業系統,所以環境選擇win64,然後選擇【工具】-【編輯當前環境】
tools-edit
設定好GOROOT為Golang的安裝目錄
Goroot
然後設定GOPATH,選擇【工具】-【管理GOPATH】
tools-manageGopath
設定好了之後就可以開始使用了,自動補全,格式調整等功能都有
LiteIDE
Eclipse安裝goclipse外掛程式
可以參考官方安裝指導文檔,開啟文檔就會看到幾條限制
- Java虛擬機器需要8以上;
- Eclipse需要4.6(Neon)以上,筆者使用的是4.7(Oxygen);
- CDT 需要9.0以上(CDT 可以是提前安裝好,也可以在安裝goclipse時進行安裝)
注意看官方文檔最下發,針對中國使用者寫的,為了防止由於GFW存在導致串連不上、逾時或網速慢的問題,推薦使用離線安裝。
- 首先下載goclipse離線包,下載完成後解壓。
- 然後開啟Eclipse,依次點擊 【Help】-【Install New Software...】-【Add】,填寫外掛程式描述,並點擊 【Local】選中上述下載的資源套件解壓後的【release】目錄,點擊【OK】
add repository
如果已安裝了 CDT 則這裡只選 GoClipse 一項即可,如未安裝,則需要選擇前三項:CDT Main Features、CDT Optional Features 和 GoClipse,然後一直 Next 直到安裝結束
install goclipseInstall Detailslicense
安裝完成後重啟Eclipse,開啟後就是配置,選擇【Window】-【Performances】-【Go】,設定GOROOT,即Go的安裝目錄,設定完成後一定要先點擊【Apply】應用。
Set GOROOT
然後選擇【Go】-【Tools】,設定gocode、guru、godef,直接點擊Download,會出現彈出框,直接點擊【OK】即可
set toolsdownload gocode
這樣安裝發現guru無法下載,因為GFW導致我們無法訪問golang.org這個網站,Eclipse console視窗返回的訊息如下:
>> Running: "C:\Program Files\Go\bin\go.exe" get -u github.com/nsf/gocode>> Running: "C:\Program Files\Go\bin\go.exe" get -u golang.org/x/tools/cmd/guru>> Running: "C:\Program Files\Go\bin\go.exe" get -u github.com/rogpeppe/godefpackage golang.org/x/tools/cmd/guru: unrecognized import path "golang.org/x/tools/cmd/guru" (https fetch: Get https://golang.org/x/tools/cmd/guru?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.) ^^^ Terminated, exit code: 1 ^^^ ^^^ Terminated, exit code: 0 ^^^ ^^^ Terminated, exit code: 0 ^^^
我們可以下載guru源碼,然後使用 go build 指令編譯得到對應的 .exe 檔。
首先把整個工程下載下來,然後在Go的安裝目錄的【src】目錄下建立多級目錄【 golang.org\x\】,接著將下載下來的zip包解壓在【src\golang.org\x\】目錄下,並將檔案夾名稱由【tools-master】修改為【tools】
tools directory
然後在Go安裝目錄的 bin 目錄下開啟cmd命令列,執行如下命令
go build golang.org/x/tools/cmd/guru
執行成功後會在【bin】目錄下產生【guru.exe】檔案,我配置的guru工具的目錄是【D:\Go\bin\guru.exe】,所以我將這個檔案剪下到【D:\Go\bin\】目錄下
guru
至此,所有的配置就都完成了,下面就可以測試了,建立一個Go工程,還是Hello world代碼,可以看到自動補全這些功能都有,右鍵-【Run AS】-【Go Application】試試,可以看到正確輸出Hello, World!
Hello world
這裡需要注意的是src下面一定要有一個main包
總結
- IntelliJ IDEA暫時不支援Go 1.9以上版本,所以被排除在外,估計以後也不會支援了,因為JetBrains推出了GoLand;
- GoLand對於以前使用IntelliJ IDEA開發的Java的程式猿來說使用起來不會陌生,各種快速鍵一樣,並且支援文法高亮、自動補全、斷點等功能,使用起來非常方便;
- LiteIDE非常輕便,並且也支援文法高亮、自動補全、格式自動調整等功能,但是筆者感覺斷點不方便,不支援單擊或雙擊打斷點,需要游標移動到某一行,然後點擊斷點按鈕,其他的暫時沒有發現,等使用一段時間了再補充;
- Eclipse安裝外掛程式比較麻煩,但是使用起來很方便,基本和開發Java差不多;
但是筆者感覺還是GoLand最好用。