1. 程式人生 > 實用技巧 >【Golang】vscode 設定 go 開發環境

【Golang】vscode 設定 go 開發環境

步驟

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 FieldsGo: 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

https://golang.google.cn/