VS code中手動安裝go的插件

Visual Studio Code是一個輕量且功能非常強大的代碼開發工具; 支持Windows、MacOS和Linux三種系統的桌面應用; 雖然它一開始主要設計爲JavaScript, TypeScript and Node.js,但是它支持通過豐富的插件來支持其他更多的開發語言比如C++, C#, Java, Python, PHP, Go, .NET and Unity等

VS開發Go程序

安裝Go環境

  1. 下載go sdk
  2. 安裝環境 install
  3. 驗證一下, 重新打開一個新的終端
go version
go version go1.13.3 darwin/amd64

VS中安裝go插件

  1. 在VS的extension管理中搜索’Go’, 查看插件介紹, 點擊安裝, 安裝成功後重啓VS;
  2. 新建一個Go程序文件, 文件後綴爲.go, 寫幾行簡單的代碼;
package main
import "fmt"
func main() {
    fmt.Println("Google" + "Runoob")
    f
}
  1. 在上面代碼的過程中, 強大的VS會檢測並推薦安裝一些額外的插件如下, 根據相關動作觸發提示, 比如代碼補全會提示gocode, 進行程序debug會提示安裝dlv等;
gocode for auto-completion (not needed if using language server)
go-outline for symbol search in the current file
go-symbols for symbol search in the current workspace
gopkgs for auto-completion of unimported packages
guru for the Find all References feature
gorename for renaming symbols
goreturns or goimports for formatting code (not needed if using language server)
godef or gogetdoc for the Go to Definition feature (not needed if using language server)
godoc or gogetdoc for the documentation that appears on hover (not needed if using language server)
golint or megacheck or golangci-lint or revive for linting
dlv for debugging

關於這些插件的詳情, 可以在我們一開始安裝的Go插件詳情介紹裏面找到相關說明和鏈接;

  1. 本來我們可以通過一鍵點擊安裝各種強大好玩的插件, 但是由於網絡問題全部都會安裝失敗;
Installing 15 tools at /Users/hinsteny/go/bin in module mode.
  gocode
  gopkgs
  go-symbols
  guru
  gorename
  gotests
  gomodifytags
  impl
  fillstruct
  goplay
  godoctor
  gocode-gomod
  godef
  goreturns
  golint

Installing github.com/mdempsky/gocode FAILED
Installing github.com/uudashr/gopkgs/cmd/gopkgs FAILED
Installing github.com/acroca/go-symbols FAILED
Installing golang.org/x/tools/cmd/guru FAILED
Installing golang.org/x/tools/cmd/gorename FAILED
Installing github.com/cweill/gotests/... FAILED
Installing github.com/fatih/gomodifytags FAILED
Installing github.com/josharian/impl FAILED
Installing github.com/davidrjenni/reftools/cmd/fillstruct FAILED
Installing github.com/haya14busa/goplay/cmd/goplay FAILED
Installing github.com/godoctor/godoctor FAILED
Installing github.com/stamblerre/gocode FAILED
Installing github.com/rogpeppe/godef FAILED
Installing github.com/sqs/goreturns FAILED
Installing golang.org/x/lint/golint FAILED

15 tools failed to install.

gocode:
Error: Command failed: /usr/local/go/bin/go get -v github.com/mdempsky/gocode
go get github.com/mdempsky/gocode: module github.com/mdempsky/gocode: Get https://proxy.golang.org/github.com/mdempsky/gocode/@v/list: dial tcp 172.217.24.17:443: i/o timeout
go get github.com/mdempsky/gocode: module github.com/mdempsky/gocode: Get https://proxy.golang.org/github.com/mdempsky/gocode/@v/list: dial tcp 172.217.24.17:443: i/o timeout
......

通過命令行手動安裝Go插件

  1. 進入到我們操作系統的GOPATH目錄,
    查看GOPATH
go env

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/hinsteny/Library/Caches/go-build"
GOENV="/Users/hinsteny/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/hinsteny/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
......

進入GOPATH的src目錄下

cd /Users/hinsteny/go
cd src
  1. 這裏以手動安裝gocode(代碼補全)插件爲例

a. 可以在上面一鍵安裝失敗的輸出信息中看到gocode源碼所在地址,

go get github.com/mdempsky/gocode: module github.com/mdempsky/gocode: Get https://proxy.golang.org/github.com/mdempsky/gocode/@v/list: dial tcp 172.217.24.17:443: i/o timeout

b. 去github上看一下gocode插件項目

c. 在src目錄下創建子目錄 github.com/mdempsky, 然後再將上面的項目clone至其下面

git clone [email protected]:go-delve/delve.git

d. 最後就是通過 go install 命令安裝我們下載到本地的插件

go install github.com/mdempsky/gocode

如果在執行install命令的時候報錯找不到其他一些類時, 那就以同樣的方式先去安裝依賴的插件;

愉快的使用插件

  1. 使用gocode插件的代碼自動提示功能
    Code
  2. 使用dle進行debug
    Debug
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章