vscode 安裝go第三方擴展包填坑記錄


1、vscode中安裝go擴展包,不再闡述。

2、在安裝好go的擴展包以后,創建GOPATH環境變量

 

3、PATH中會自動添加,如果沒有可手動添加

 

4、在GOPATH目錄下創建自己的工作空間(為什么一定是在GOPATH下創建,還不太清楚),我的是workspace(名稱可以自定義)

5、打開VSCODE,文件-打開文件夾,選擇GOPATH目錄

6、在workspace下創建helloworld目錄(我稱為項目空間)

 

7、配置VSCODE中的setting.json文件

 

加入如下配置:

 

8、編寫helloworld代碼如下,可直接復制

package main

import "fmt"

func main() {

    fmt.Println("Hello world!")

}

保存,重啟VSCODE

9、重啟VSCODE后,會自動加載GO的第三方類庫,注意輸出,因為有FQ的限制,基本上無法從golang.org上下載對應的類包。每個人的情況不一樣,我的基本上都是安裝失敗,如下:

Installing github.com/mdempsky/gocode FAILED
Installing github.com/uudashr/gopkgs/cmd/gopkgs FAILED
Installing github.com/ramya-rao-a/go-outline 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/go-delve/delve/cmd/dlv SUCCEEDED
Installing github.com/stamblerre/gocode FAILED
Installing github.com/rogpeppe/godef SUCCEEDED
Installing github.com/sqs/goreturns FAILED
Installing golang.org/x/lint/golint FAILED

10、vscode自動安裝失敗,執行手動安裝
第一步先在%GOPATH%\src\golang.org\x目錄下打開git bash(如果沒有對應的golang.org目錄,可手功創建),執行git clone http://github.com/golang/tools。(手動安裝第三方類包時,必須先安裝tools類包)必須用git來clone,否則安裝其他組件如go get -u -v github.com/cweill/gotests。會出現package golang.org/x/tools/imports:directory"D:\\GoPath\\src\\golang.org\\x\\tools\\imports" is not using a known version control system錯誤。
第二步tools下載好后,進入%GOPATH%\src\golang.org\x\tools\cmd\gorename目錄,按shift+右鍵選擇在此打開命令窗口,執行go install,guru也執行同樣操作。
第三步在命令行窗口執行go get -u -v github.com/newhook/go-symbols,安裝go-symbols。其他幾個同樣執行此操作,包鏈接見下。

先在%GOPATH%/src/github.com下執行:

git clone https://github.com/mdempsky/gocode
git clone https://github.com/uudashr/gopkgs/cmd/gopkgs
git clone https://github.com/ramya-rao-a/go-outline
git clone https://github.com/acroca/go-symbols
git clone https://golang.org/x/tools/cmd/guru
git clone https://golang.org/x/tools/cmd/gorename
git clone https://github.com/go-delve/delve/cmd/dlv
git clone https://github.com/stamblerre/gocode
git clone https://github.com/rogpeppe/godef
git clone https://github.com/sqs/goreturns
git clone https://golang.org/x/lint/golint

之后在%GOPATH%下執行
go install github.com/mdempsky/gocode
go install github.com/uudashr/gopkgs/cmd/gopkgs
go install github.com/ramya-rao-a/go-outline
go install github.com/acroca/go-symbols
go install golang.org/x/tools/cmd/guru
go install golang.org/x/tools/cmd/gorename
go install github.com/go-delve/delve/cmd/dlv
go install github.com/stamblerre/gocode
go install github.com/rogpeppe/godef
go install github.com/sqs/goreturns
go install golang.org/x/lint/golint

示例:

 

 

在從github.com下載時,有時會發現目錄的問題,比如下載github.com/mdempsky/gocode,在下載完成后,會在%GOPATH%/src/github.com目錄下生成gocode目錄(或者生成mdempsky(空的)與gocode目錄),這時需要手工將gocode移至mdempsky目錄下。

如果出現package golang.org/x/tools/go/buildutil: cannot download,http://github.com/golang/tools uses insecure protocol錯誤,不難看出是下載tools導致,由於我們上邊已經安裝tools而且此時goo-symbols已經通過go get下來,此時我們直接進入%GOPATH%\src\github.com\newhook\go-symbols目錄,進入命令行執行go install,安裝成功go-symbols.exe已出現在%GOPATH%\bin目錄。

 

11、如果在打開VSCODE時(默認GO項目工程),提示

 

則可按以上方法進行安裝。

12、安裝完vscode時需要安裝的插件,后面的名稱是在%GOPATH%/bin下生成的exe文件

github.com/mdempsky/gocode          gocode
github.com/uudashr/gopkgs/cmd/gopkgs    gopkgs
github.com/ramya-rao-a/go-outline      go-outline
github.com/acroca/go-symbols          go-symbols
golang.org/x/tools/cmd/guru          guru
golang.org/x/tools/cmd/gorename      gorename
github.com/derekparker/delve/cmd/dlv       dlv
github.com/stamblerre/gocode          gocode-gomod
github.com/rogpeppe/godef        godef
github.com/ianthehat/godef          godef-gomod
github.com/sqs/goreturns          goreturns
golang.org/x/lint/golint          golint

也可生成一個批處理文件

mkdir  %GOPATH%\\src\\golang.org\\x
git clone https://github.com/golang/tools.git %GOPATH%\\src\\golang.org\\x\\tools

go get -v github.com/mdempsky/gocode
go get -v github.com/uudashr/gopkgs/cmd/gopkgs
go get -v github.com/ramya-rao-a/go-outline
go get -v github.com/acroca/go-symbols
go get -v golang.org/x/tools/cmd/guru
go get -v golang.org/x/tools/cmd/gorename
go get -v github.com/derekparker/delve/cmd/dlv
go get -v github.com/stamblerre/gocode
go get -v github.com/rogpeppe/godef
go get -v github.com/ianthehat/godef
go get -v github.com/sqs/goreturns
go get -v github.com/golang/lint%
git clone https://github.com/golang/lint.git %GOPATH%\\src\\golang.org\\x\\lint

go build -o %GOPATH%\\bin\\gocode.exe github.com/mdempsky/gocode
go build -o %GOPATH%\\bin\\gopkgs.exe github.com/uudashr/gopkgs/cmd/gopkgs
go build -o %GOPATH%\\bin\\go-outline.exe github.com/ramya-rao-a/go-outline
go build -o %GOPATH%\\bin\\go-symbols.exe github.com/acroca/go-symbols
go build -o %GOPATH%\\bin\\guru.exe golang.org/x/tools/cmd/guru
go build -o %GOPATH%\\bin\\gorename.exe golang.org/x/tools/cmd/gorename
go build -o %GOPATH%\\bin\\dlv.exe github.com/derekparker/delve/cmd/dlv
go build -o %GOPATH%\\bin\\gocode-gomod.exe github.com/stamblerre/gocode
go build -o %GOPATH%\\bin\\godef.exe github.com/rogpeppe/godef
go build -o %GOPATH%\\bin\\godef-gomod.exe github.com/ianthehat/godef
go build -o %GOPATH%\\bin\\goreturns.exe github.com/sqs/goreturns
go build -o %GOPATH%\\bin\\golint.exe golang.org/x/lint/golint

pause
 

注意事項:

1)、會發現有兩個gocode ,github.com/mdempsky/gocode 與 github.com/stamblerre/gocode,所在使用go install安裝時,只會生成名稱是gocode.exe文件,所以在這使用了 go build -o 的命令與參數。

2)、在安裝好github.com/golang/tools后,golang.org/x/tools/cmd/guru 與 golang.org/x/tools/cmd/gorename,可直接進入對應的目錄下,執行 【go install】 安裝即可。

附:所有第三方類包安裝完的效果:

 

 
————————————————
版權聲明:本文為CSDN博主「風子楊yxf771」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/yxf771hotmail/article/details/88233857


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM