02-go的IDE安裝
此篇文章是在go已經安裝的前提下進行的,如果go還沒有安裝請參考這篇文章 01-go安裝。
本文章使用的是vscode作爲go IDE,所以需要提前安裝好vscode,並且是在linux系統下。
當前系統爲linux mint 19,ubuntu deepin等系統類似。
安裝擴展插件
打開vscode編輯器,在擴展中搜索 go 關鍵字,不出所料應該第一個插件就是了,如圖:
然後點擊安裝,安裝完成之後需要安裝一些go工具,主要有以下:
- gocode
- gopkgs
- go-outline
- go-symbols
- guru
- gorename
- gotests
- gomodifytags
- impl
- fillstruct
- goplay
- godoctor
- dlv
- gocode-gomod
- godef
- goreturns
- golint
一共是17個工具。下面分別簡要介紹以下這些工具是做什麼用的。
工具 | 說明 | 連接 |
---|---|---|
gocode | 代碼自動補全 | 連接 |
gopkgs | 自動補全未導入包 | 連接 |
go-outline | 在當前文件中查找引用 | 連接 |
go-symbols | 在項目路徑下查找引用 | 連接 |
guru | 查詢所有引用 | 連接 |
gorename | 重命名符號 | 連接 |
gotests | 單元測試 | 連接 |
gomodifytags | 修改結構體標籤 | 連接 |
impl | 新建接口 | 連接 |
fillstruct | 結構體成員默認值 | 連接 |
goplay | 運行當前go文件 | 連接 |
godoctor | 重構引擎 | 連接 |
dlv | 調試工具 | 連接 |
gocode-gomod | go模塊管理 | 連接 |
godef | 跳轉到聲明 | 連接 |
goreturns | 格式化代碼 | 連接 |
golint | lint工具 | 連接 |
安裝go工具
在vscode中使用快捷鍵 Ctrl + Shift + P
調出命令界面,然後輸入 go install,然後選擇 Update Tools,如圖:
緊接着會出現工具選擇,一般我們全部選擇,選擇完成之後回車即可。
通過快捷鍵Ctrl +
Tab上的那個按鍵調用出終端,點擊輸出選項,我們會看到有一些工具安裝成功了,有一些安裝失敗了,如下:
我們也可以在GOPATH目錄下查看已經成功安裝了哪些工具:
如果全部成功安裝會這樣顯示:
由此可見我們只成功安裝了8個工具,下面我們來安裝剩下的9個工具。
在項目下創建pkg/mod
文件夾,然後在mod文件夾下創建 golang.org/x/
,此時切換到此文件夾下,打開終端執行:
git clone https://github.com/golang/tools.git
此時x目錄下會出現tools文件夾。
切換到$GOPATH
目錄下,打開終端輸入以下命令安裝,安裝那些你上一步沒有成功的插件。分別是:
- go-outline,執行
go install github.com/lukehoban/go-outline
- go-symbols,執行
go install github.com/newhook/go-symbols
- gocode,執行
go install github.com/mdempsky/gocode
- godef,執行
go install github.com/rogpeppe/godef
- godoctor,執行
go install github.com/godoctor/godoctor
- gorename,執行
go install golang.org/x/tools/cmd/gorename
- gotests,執行
go install github.com/cweill/gotests
- guru,執行
go install golang.org/x/tools/cmd/guru
- impl,執行
go install github.com/josharian/impl
如果golint沒有安裝成功,使用需要在mod目錄下創建github.com目錄,然後在github.com目錄下打開終端執行,
git clone https://github.com/golang/lint.git
,最後安裝go install golang.org/x/lint/golint
。
爲了配合新的包管理還有提高代碼提示性能,建議安裝下面兩個工具:
- goimports
- gopls
go install golang.org/x/tools/cmd/goimports
go install golang.org/x/tools/cmd/gopls
這裏有一個小訣竅,就是發現哪個不能下載就把這個包手動git clone到
$GOPATH/pkg/mod
文件夾下,然後在安裝,要注意創建相應的文件夾,例如常見的github.com和golang.org/x。
調試配置
1.點擊vscode的運行按鈕或者快捷鍵Ctrl + Shift + D
,在出現的頁面中選擇create a launch.json file
,然後選擇Go
此時會在項目下創建.vscode
文件夾和其文件夾下的 lanuch.json 文件。
2.在lanuch.json文件中配置如下:
{
// 使用 IntelliSense 瞭解相關屬性。
// 懸停以查看現有屬性的描述。
// 欲瞭解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"host": "127.0.0.1",
"port": 2345,
"program": "${fileDirname}",
"env": {},
"args": [],
"showLog": false
}
]
}
3.測試調試功能
在項目文件夾下創建src文件夾,用於存放代碼,然後在創建一個main.go文件,內容如下:
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
我們在fmt.Println("Hello, 世界")
這一段代碼的前面打上斷點,然後按F5
,就會出現調試頁面:
到了這一步你就可以調試go程序了。
調試端口是2345,要儘量比較其他程序佔用此端口,否則會導致失敗。
修正代碼提示延遲
如果代碼提示並不是很慢不需要配置,此處略過。如果出現提示很慢,甚至不提示,可以參照下面教程配置一下。
一般這種情況出現在windows下,linux基本滅有。
在vscode設置界面搜索go.useLanguageServer
,然後勾選,這是會有提示是否重新加載,選擇是即可。同樣也可以在 setting.json 文件內追加設置
"go.useLanguageServer": true
這樣做的目的是啓動golsp,使得gomod下代碼提示速度增強。修改後vscode需要重啓。