Golang學習筆記-IDE安裝指南

weixin_33912246發表於2018-09-04

引言


  上篇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

12975960-5c44bad6411e7b8c.png
IDEA Version

點選【File】-【Settings】

12975960-c52d7ec48ed28b21.png
menu

選擇【Plugins】-【Install JetBrains plugin…】

12975960-c41623789e180f6e.png
install plugins

輸入【go】,選擇【Go Languages】,然後點選【Install】,需要注意的是,這裡只支援Go 1.9版本,筆者安裝的是1.11版本,使用該外掛不相容。

12975960-686ea80c468d915c.png
install

安裝完成後重啟IDEA

12975960-5f2dd241a4814638.png
restart idea

重啟之後選擇【File】-【New】-【Module】

12975960-28af96ce83267799.png
new module

現在能看到能建立Go語言專案了,但是我們這裡還需要配置SDK,選擇Go的安裝目錄

12975960-9ed7b4351198fe4f.png
Create Go project
12975960-7f107b9fe14401c6.png
new module

接下來需要設定GOPATH,其實就是Go的工作目錄

12975960-c06f9a2f3928b442.png
Gopath.png

因為筆者安裝的是1.11版本的Golang,所以沒有具體測試該外掛是否可用,其實JetBrains針對Go語言專門開發了一款IDE,GoLand

安裝GoLand


首先進入GoLand下載頁下載最新版本的IDE,筆者下載的是2018.2.2版本,下載完成後直接安裝,安裝好了之後輸入license就可以開始使用了

12975960-501441060fea7ac4.png
GoLand

如果你之前使用IntelliJ IDEA開發Java,你會發現GoLand快捷鍵和IntelliJ IDEA的一樣,上手非常容易。

LiteIDE


LiteIDE 是一款簡單、開源、跨平臺的 Go 語言 IDE。在soureceforge上提供了下載地址

12975960-dbaebaca7eeeda8d.png
download liteide

筆者下載的是34.1的Windows版本,下載完成後直接解壓即可,解壓後雙擊bin目錄下的liteide.exe,開啟後先設定編輯環境,因為我使用的64位作業系統,所以環境選擇win64,然後選擇【工具】-【編輯當前環境】

12975960-5ffc4cde3d88838b.png
tools-edit

設定好GOROOT為Golang的安裝目錄

12975960-2459ec7e7da63079.png
Goroot

然後設定GOPATH,選擇【工具】-【管理GOPATH】

12975960-dbf756e4c84ac3bf.png
tools-manage
12975960-e6f705542c2b3072.png
Gopath

設定好了之後就可以開始使用了,自動補全,格式調整等功能都有

12975960-ae76537f6a77d815.png
LiteIDE

Eclipse安裝goclipse外掛


可以參考官方安裝指導文件,開啟文件就會看到幾條限制

  1. Java虛擬機器需要8以上;
  2. Eclipse需要4.6(Neon)以上,筆者使用的是4.7(Oxygen);
  3. CDT 需要9.0以上(CDT 可以是提前安裝好,也可以在安裝goclipse時進行安裝)

注意看官方文件最下發,針對中國使用者寫的,為了防止由於GFW存在導致連線不上、超時或網速慢的問題,推薦使用離線安裝。

  1. 首先下載goclipse離線包,下載完成後解壓。
  2. 然後開啟Eclipse,依次點選 【Help】-【Install New Software...】-【Add】,填寫外掛描述,並點選 【Local】選中上述下載的資源包解壓後的【release】目錄,點選【OK】
12975960-e39a6d2b180151f8.png
add repository

如果已安裝了 CDT 則這裡只選 GoClipse 一項即可,如未安裝,則需要選擇前三項:CDT Main Features、CDT Optional Features 和 GoClipse,然後一直 Next 直到安裝結束

12975960-0fb1636c7df39007.png
install goclipse
12975960-af89c0343b552f38.png
Install Details
12975960-00ca223f450ffcf4.png
license

安裝完成後重啟Eclipse,開啟後就是配置,選擇【Window】-【Performances】-【Go】,設定GOROOT,即Go的安裝目錄,設定完成後一定要先點選【Apply】應用。

12975960-907d554903b5f249.png
Set GOROOT

然後選擇【Go】-【Tools】,設定gocode、guru、godef,直接點選Download,會出現彈出框,直接點選【OK】即可

12975960-5a50dad7fee6e029.png
set tools
12975960-ed0a530287caefd0.png
download 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/godef
package 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】

12975960-d33059c0f32b471a.png
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\】目錄下

12975960-0bae0bbf0af885a1.png
guru

至此,所有的配置就都完成了,下面就可以測試了,新建一個Go工程,還是Hello world程式碼,可以看到自動補全這些功能都有,右鍵-【Run AS】-【Go Application】試試,可以看到正確輸出Hello, World!

12975960-a03ab982b454a254.png
Hello world

這裡需要注意的是src下面一定要有一個main包

總結


  • IntelliJ IDEA暫時不支援Go 1.9以上版本,所以被排除在外,估計以後也不會支援了,因為JetBrains推出了GoLand;
  • GoLand對於以前使用IntelliJ IDEA開發的Java的程式猿來說使用起來不會陌生,各種快捷鍵一樣,並且支援語法高亮、自動補全、斷點等功能,使用起來非常方便;
  • LiteIDE非常輕便,並且也支援語法高亮、自動補全、格式自動調整等功能,但是筆者感覺斷點不方便,不支援單擊或雙擊打斷點,需要游標移動到某一行,然後點選斷點按鈕,其他的暫時沒有發現,等使用一段時間了再補充;
  • Eclipse安裝外掛比較麻煩,但是使用起來很方便,基本和開發Java差不多;

但是筆者感覺還是GoLand最好用。

相關文章