vscode 安裝go第三方擴(kuò)展包填坑記錄的詳細(xì)教程
1、vscode中安裝go擴(kuò)展包,不再闡述。
2、在安裝好go的擴(kuò)展包以后,創(chuàng)建GOPATH環(huán)境變量
3、PATH中會(huì)自動(dòng)添加,如果沒有可手動(dòng)添加
4、在GOPATH目錄下創(chuàng)建自己的工作空間(為什么一定是在GOPATH下創(chuàng)建,還不太清楚),我的是workspace(名稱可以自定義)
5、打開VSCODE,文件-打開文件夾,選擇GOPATH目錄
6、在workspace下創(chuàng)建helloworld目錄(我稱為項(xiàng)目空間)
7、配置VSCODE中的setting.json文件
加入如下配置:
8、編寫helloworld代碼如下,可直接復(fù)制
package main import "fmt" func main() { fmt.Println("Hello world!") }
保存,重啟VSCODE
9、重啟VSCODE后,會(huì)自動(dòng)加載GO的第三方類庫,注意輸出,因?yàn)橛蠪Q的限制,基本上無法從golang.org上下載對(duì)應(yīng)的類包。每個(gè)人的情況不一樣,我的基本上都是安裝失敗,如下:
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自動(dòng)安裝失敗,執(zhí)行手動(dòng)安裝
第一步先在%GOPATH%\src\golang.org\x目錄下打開git bash(如果沒有對(duì)應(yīng)的golang.org目錄,可手功創(chuàng)建),執(zhí)行g(shù)it clone http://github.com/golang/tools。(手動(dòng)安裝第三方類包時(shí),必須先安裝tools類包)必須用git來clone,否則安裝其他組件如go get -u -v github.com/cweill/gotests。會(huì)出現(xiàn)package golang.org/x/tools/imports:directory"D:\\GoPath\\src\\golang.org\\x\\tools\\imports" is not using a known version control system錯(cuò)誤。
第二步tools下載好后,進(jìn)入%GOPATH%\src\golang.org\x\tools\cmd\gorename目錄,按shift+右鍵選擇在此打開命令窗口,執(zhí)行g(shù)o install,guru也執(zhí)行同樣操作。
第三步在命令行窗口執(zhí)行g(shù)o get -u -v github.com/newhook/go-symbols,安裝go-symbols。其他幾個(gè)同樣執(zhí)行此操作,包鏈接見下。
先在%GOPATH%/src/github.com下執(zhí)行:
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%下執(zhí)行
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下載時(shí),有時(shí)會(huì)發(fā)現(xiàn)目錄的問題,比如下載github.com/mdempsky/gocode,在下載完成后,會(huì)在%GOPATH%/src/github.com目錄下生成gocode目錄(或者生成mdempsky(空的)與gocode目錄),這時(shí)需要手工將gocode移至mdempsky目錄下。
如果出現(xiàn)package golang.org/x/tools/go/buildutil: cannot download,http://github.com/golang/tools uses insecure protocol錯(cuò)誤,不難看出是下載tools導(dǎo)致,由于我們上邊已經(jīng)安裝tools而且此時(shí)goo-symbols已經(jīng)通過go get下來,此時(shí)我們直接進(jìn)入%GOPATH%\src\github.com\newhook\go-symbols目錄,進(jìn)入命令行執(zhí)行g(shù)o install,安裝成功go-symbols.exe已出現(xiàn)在%GOPATH%\bin目錄。
11、如果在打開VSCODE時(shí)(默認(rèn)GO項(xiàng)目工程),提示
則可按以上方法進(jìn)行安裝。
12、安裝完vscode時(shí)需要安裝的插件,后面的名稱是在%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
也可生成一個(gè)批處理文件
mkdir %GOPATH%\\src\\golang.org\\x
git clone https://github.com/golang/tools.git %GOPATH%\\src\\golang.org\\x\\toolsgo 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\\lintgo 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
注意事項(xiàng):
1)、會(huì)發(fā)現(xiàn)有兩個(gè)gocode ,github.com/mdempsky/gocode 與 github.com/stamblerre/gocode,所在使用go install安裝時(shí),只會(huì)生成名稱是gocode.exe文件,所以在這使用了 go build -o 的命令與參數(shù)。
2)、在安裝好github.com/golang/tools后,golang.org/x/tools/cmd/guru 與 golang.org/x/tools/cmd/gorename,可直接進(jìn)入對(duì)應(yīng)的目錄下,執(zhí)行 【go install】 安裝即可。
附:所有第三方類包安裝完的效果:
總結(jié)
到此這篇關(guān)于vscode 安裝go第三方擴(kuò)展包填坑記錄的文章就介紹到這了,更多相關(guān)vscode go擴(kuò)展包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言程序如何求學(xué)生總成績(jī)和平均成績(jī)
這篇文章主要介紹了C語言程序如何求學(xué)生總成績(jī)和平均成績(jī),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11C語言數(shù)據(jù)結(jié)構(gòu)中定位函數(shù)Index的使用方法
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)中定位函數(shù)Index的使用方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解這部分內(nèi)容,需要的朋友可以參考下2017-10-10C++11 中的std::function和std::bind詳解
這篇文章主要介紹了C++ 11 std::function和std::bind,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-10-10詳解C語言結(jié)構(gòu)體中的char數(shù)組如何賦值
這篇文章主要給大家介紹了關(guān)于C語言結(jié)構(gòu)體中的char數(shù)組如何賦值的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03