【Golang】vscode 設定 go 開發環境
阿新 • • 發佈:2020-11-01
步驟
1. 始
Golang 語言開發選擇一款合適的編輯器,能加速你敲字的靈感,這裡推薦微軟的 Visual Studio Code,簡稱 vscode。
2. 安裝 go 外掛
首先需要安裝 go 語言外掛,在 vscode 擴充套件中搜索 “go”,如下圖,下載安裝go外掛
3. 設定 GOPROXY
如果想要 vscode 在 Go語言開發的時候為我們提供諸如程式碼提示、程式碼自動補全等功能,需要安裝 go tools,但是安裝 tools 需要設定 goproxy,否則會因為網路問題無法下載 tools 工具。
在此之前請先設定GOPROXY
,開啟終端執行以下命令:
go env -w GOPROXY=https://goproxy.cn,direct
4. 安裝 Go語言開發工具包
安裝 Golang Tools,按下 Ctrl/Cmd+P,輸入> Go: Install/Update Tools
,然後回車,選擇你要安裝的 tools 外掛
5. 外掛介紹
tools 名稱 | 用途 | |
---|---|---|
gocode | github.com/mdempsky/gocode | 程式碼自動完成 |
gopkgs | github.com/uudashr/gopkgs/v2/cmd/gopkgs | 該工具為未匯入的軟體包提供自動補全功能 |
go-outline | github.com/ramya-rao-a/go-outline | 此工具提供了文件大綱功能以及當前檔案功能中的 |
go-symbols | github.com/acroca/go-symbols | 此工具提供了工作空間中的轉到符號功能。 |
guru | golang.org/x/tools/cmd/guru | 該工具提供查詢參考和查詢介面實現功能。 它也可用於通過設定提供轉到定義 "go.docsTool" 。 |
gorename | golang.org/x/tools/cmd/gorename | 此工具提供了重新命名符號功能。 |
gotests | github.com/cweill/gotests/... | 該工具為Go: Generate Unit Tests 命令集提供支援。 |
gomodifytags | github.com/fatih/gomodifytags | 該工具支援Go: Add Tags to Struct Fields 和Go: Remove Tags From Struct Fields 命令。 |
impl | github.com/josharian/impl | 該工具為Go: Generate Interface Stubs 命令提供支援。 |
fillstruct | github.com/davidrjenni/reftools/cmd/fillstruct | 該工具提供了對Go: Fill struct 命令的支援。 |
goplay | github.com/haya14busa/goplay/cmd/goplay | 該工具為Go: Run on Go Playground 命令提供支援。 |
godoctor | github.com/godoctor/godoctor | 該工具提供了重構功能。 它不支援Go模組,因此我們希望 gopls 它將提供此功能(golang / go#37170)。 |
dlv | github.com/go-delve/delve/cmd/dlv | 這是Go語言的偵錯程式。它用於提供此擴充套件的除錯功能。 |
gocode-gomod | github.com/stamblerre/gocode | |
goreturns | github.com/sqs/goreturns | |
golint | golang.org/x/lint/golint |
6. 開啟vscode設定
7. settings.json 配置
"go.inferGopath": true,
"go.autocompleteUnimportedPackages": true,
"go.gocodePackageLookupMode": "go",
"go.gotoSymbol.includeImports": true,
"go.useCodeSnippetsOnFunctionSuggest": true,
"go.useCodeSnippetsOnFunctionSuggestWithoutType": true,
"go.docsTool": "guru",
8. settings.json 引數介紹:
8.1 跳轉到定義
- go.docsTools:這裡有三個選項,預設使用 gogetdoc,不知為何我這裡選擇之後無法使用
ctrl/cmd +滑鼠左鍵
點選跳轉函式或者原始碼,於是我選擇了 guru
參考連結:
https://github.com/microsoft/vscode-go
https://github.com/golang/vscode-go
https://github.com/golang/vscode-go/blob/master/docs/tools.md