Jetbrains 家族利器之 Gogland 簡明教程

bingohuang發表於2017-09-05

gogland.png

喜歡用 IDE 做開發的同學必定不能錯過 Jetbrains 家族的 IDE,款款精品,可謂都是 IDE 中的神兵利器。

這裡介紹該家族 又一款新的 IDE —— 用於開發 Go 語言 的 Gogland,喜歡折騰 Go 語言 IDE 的同學一定要試試看。

一、下載 Gogland

該步驟非常簡單,訪問 Gogland 的下載頁面,下載相應平臺的安裝包即可,三大平臺(Mac、Linux、Windows)都有支援。

注:當前 Gogland 還是預釋出版,想了解更多 Gogland 資訊,請參考附錄二

二、安裝 Go 環境

接下來需要安裝相應的 Go 環境,才能在 Gogland 中開發 Go 程式。

安裝方法多樣,首先可參考官網安裝指南,但如果你有 Go 多版本的需求(比如新老版本共存),你想簡化 Go 配置過程(省去 GOPATH、GOROOT 等的配置),你還希望它支援跨平臺(支援 Mac 和 Linux),那麼我特別推薦這款 Go 環境安裝工具:GVM —— 詳情可參考我的寫的這篇文章《Go 語言多版本安裝及管理利器 - GVM》

二、設定工作空間

用過 Eclipse 的同學必不陌生 Workspace (工作空間),Go 也有自己的工作空間,建議將 Go 的程式碼放在一個單獨的空間,類似佈局如下:

- workspace
    - bin
    - pkg
    - src
        - github.com
            - user_name
                - project1
                - project2

然後將該工作空間(workspace 所在目錄)設定到 GOPATH 當中。GOPATH 可用於 Go 匯入、安裝、構建和更新,還會被 Gogland 自動識別(見第四節)。

注:如果你採用上述說的 GVM 的安裝方式,將自動建立一個 Workspace,並配置好 GOPATH 等相關環境變數,這也是 GVM 方便的地方。

三、設定 Gogland 的 GOROOT

在 Gogland 中,需要配置當前專案的 GOROOT,用來編譯執行 Go 程式碼。配置起來也非常方便,開啟 Settings → Go → GOROOT 設定即可:

gogland-goroot.png

如果你本地安裝了多個版本的 Go,也可以在右側下拉選擇相應的版本,這依賴於你本地有多個版本的 Go 環境了。

四、設定 Gogland 的 GOPATH

Gogland 中的 GOPATH 設定功能非常實用和強大,你既可以配置多個全域性的 GOPATH (IDE 會自動識別環境變數中的 GOPATH,可不勾選),也可以配置多個專案級別的 GOPATH,甚至還可以配置多個模組級別的 GOPATH。開啟 Settings → Go → GOPATH 設定如下: gogland-gopath.png

五、建立新的 Go 專案

這個很簡單,在主選單選擇 File → New → Project, 繼而彈出 New Project 設定嚮導: gogland-new-project.png

此處就需要選擇你在上面配置好的 GOROOT,新建的專案會自動關聯全域性 GOPATH,你還可以參照第四節說是設定你專案的 GOPATH

五、匯入已有 Go 專案

如果你本地已有 Go 專案程式碼,只需在主選單選擇 File → Open,開啟你的專案目錄即可。

最新版的 Gogland有一個非常體貼的小功能,會自動匹配你當前設定好的全域性 GOROOT。當然,你也可以在設定中更換。

接下來會開始建立索引(index),第一次建立的時候可能會比較慢,CPU 消耗比較大,耗時長短依賴於你工作空間的程式碼量,但後續用起來就非常快捷了,索引的建立也是增量的。

注: 但也有一個問題,每次升級 gogland 或者安裝更新外掛,也會重新建立索引,這個確實不友好,希望 Jetbrains 後續能改善這點。

七、執行/除錯/測試程式

當你有了一個 Go 專案工程,二話不說,先跑跑看(前提是你要有一個可執行入口,在 main package 下的 main 函式)。

為了在 Gogland 執行一個 Go 程式,你需要用到 Run Configuration。使用方法如下:

  • 在主選單欄或工具欄開啟:Run → Edit Configurations
  • 點選 Edit Configurations,開啟 Run/Debug Configuration 對話方塊
  • 點選 + 號按鈕,選擇你需要的執行配置,Go 用到的配置型別如下(按使用頻率解釋): gogland-run-config.png
  • Go Application:相當於執行 go build 和執行可執行檔案命令,該配置會生成可執行檔案,也可執行 debug
  • Go Single File:相當於 go run 命令,該配置不會生成可執行檔案,不能執行 debug
  • Go Test:用於執行測試程式碼,相當於 go test,有三種測試框架可供選擇:gotest,gocheck 和 gobench
  • Go Remote:提供了 Go 的遠端除錯支援,你只需要設定要遠端連線的 Host 和 Port,並且保證你要除錯的程式是通過 Delve 啟動的
  • Go App Engine:允許你將程式部署到 Google AppEngine,前提是你有使用 Google 雲,並且你的程式模組載入了 Go AppEngine SDK

以上就是 Go 工程在執行/除錯/測試過程中會用到的配置型別,特別是前三項,最為常用。

如果你要執行程式,推薦使用 1 和 2。而 Gogland 智慧的地方在於,你可以通過滑鼠右擊這樣快捷的方式來執行和配置,如下,在有 main 函式的地方右擊即可: gogland-run.png

如果你要除錯程式,本地除錯可用 1,遠端除錯請使用 4。

如果你要測試程式,請使用第 3 種方式。

同時,在測試程式的基礎上,你還可以執行除錯和程式碼覆蓋率統計,功能十分強大!

gogland-run-coverage.png

總的來說,Gogland 繼承了 Jetbrains 家族的基因,完全可以作為 Go 語言程式設計的神兵利器,還不趕緊來試試看

注:提供兩個附錄,讓大家更全面的瞭解 Gogland。

附錄一:常用輔助快捷方式:以 Mac 為例

  1. 檢視提示幫助:預設快捷鍵是 ⌥⏎。最常用的快捷鍵之一,從 Eclipse 轉過來的同學對該快捷鍵肯定不陌生,很多地方都可以用上該快捷鍵,特別是有錯誤的時候,有時還會有意想不到的好效果哦。
  2. 檢視宣告:按住 Cmd 健(Windows 下是 Ctrl鍵),滑鼠左鍵點選相關標識。最常用的快捷鍵之一,跳轉宣告、檢視原始碼必不可少。
  3. 檢視函式引數:⌘P。直接在當前函式下檢視,當然你也可以用上面的檢視宣告方式跳轉過去檢視。
  4. 程式碼重構:在你需要重構的地方,右擊選擇 Refactor 即可。
  5. 檢視使用率:在你需要檢視使用率的地方,右擊選擇 Find Usages 即可。
  6. 還有一個非常讚的功能,就是設定 live template,使用方式就是:縮寫 + Tab 鍵。配置方式在 Settings → Editor → Live Templates 中,Go 也內建了不少快捷模板哦。

以上快捷鍵你都可以在 Settings → Editor 中查詢或重置,更多 Intellij IDE 的使用小技巧可以檢視:Discover IntelliJ IDEA

附錄二:常見問題

1、Gogland 代表什麼?

Gogland 是一個代號,並不是最終的產品名稱。靈感來自於芬蘭灣的一座小島,離芬蘭灣另一座小島 Kotlin(也是 Jetbrains 推出的一門語言) 不遠。

2、Gogland 是否會開源?

當前沒計劃開源。

3、Gogland 是否免費?

當前預覽版免費,正式版還是要收費的。

4、Gogland 中的 Go 外掛是否能用於其他基於 IntelliJ 的 IDE?

可以的,這個 Go 官方外掛 和 Gogland 所帶的 Go 相關功能是一致的,可用於 IntellIJ IDEA 極限版和其它付費 IDE,不過還不能用於社群版。

5、Gogland 繫結了哪些其他 IntelliJ 外掛?

Git, Terminal, Textmate, JavaScript, CSS, HTML, Database Tools 和 Coverage 等。

6、Gogland 什麼時候正式釋出?

還沒有確切時間,預計每個月會釋出一個 EAP build 版本。歡迎多多給我們反饋

7、我在哪裡可以提交 issues 和功能需求?

請使用 Gogland 的 issue 跟蹤:https://youtrack.jetbrains.com/issues/GO

更多原創文章乾貨分享,請關注公眾號
  • Jetbrains 家族利器之 Gogland 簡明教程
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章