[GO]解決vscode中Golang環境使用部分插件被牆的問題


1、 可以先設置個代理:
    1、1 set GO111MODULE=on
    1、2 set goproxy=https://goproxy.io

2、 添加Golang的插件工作目錄:%GOPATH/src/golang.org/x/
3、 切換至%GOPATH/src/golang.org/x/后使用git拉取依賴代碼git clone https://github.com/golang/tools.git tools
4、 執行以下命令
    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/derekparker/delve/cmd/dlv
    go install github.com/stamblerre/gocode
    go install github.com/rogpeppe/godef
    go install github.com/ianthehat/godef
    go install github.com/sqs/goreturns
    go install golang.org/x/lint/golint
    go install github.com/cweill/gotests/...
    go install github.com/fatih/gomodifytags
    go install github.com/josharian/impl
    go install github.com/davidrjenni/reftools/cmd/fillstruct
    go install github.com/haya14busa/goplay/cmd/goplay

5、 肯定會看到如下的報錯
    C:\Users\abel1\go> go install golang.org/x/lint/golint

    can't load package: package golang.org/x/lint/golint: cannot find package "golang.org/x/lint/golint" in any of:
        C:\Go\src\golang.org\x\lint\golint (from $GOROOT)
        C:\Users\abel1\go\src\golang.org\x\lint\golint (from $GOPATH)

    解決辦法:
    這是因為 golint 的源碼在lint下,而不是tools,需要單獨拉取 golint 源碼。
    5、1 進入%GOPATH%\src\golang.org\x,執行下列命令拉取 golint 源碼:git clone https://github.com/golang/lint
    5、2 最后回到%GOPATH%,通過go install安裝 golint:go install github.com/golang/x/lint/golint

6、 重啟vscode

 

安裝的組件 默認安裝狀態 組件備注 github.com->golang.org
go get -u -v github.com/nsf/gocode SUCCEEDED 自動補全  
go get -u -v github.com/uudashr/gopkgs/cmd/gopkgs SUCCEEDED 自動補全未導入的包  
go get -u -v github.com/ramya-rao-a/go-outline SUCCEEDED 當前文件中按符號搜索 https://github.com/golang/tools
go get -u -v github.com/acroca/go-symbols SUCCEEDED 當前workspace中按符號搜索  
go get -u -v golang.org/x/tools/cmd/guru SUCCEEDED 查找所有引用組件  
go get -u -v golang.org/x/tools/cmd/gorename SUCCEEDED 重命名符號  
go get -u -v github.com/fatih/gomodifytags SUCCEEDED 修改結構上的標簽  
go get -u -v github.com/haya14busa/goplay/cmd/goplay SUCCEEDED for running current file in the Go playground  
go get -u -v github.com/josharian/impl SUCCEEDED for generating stubs for interfaces  
go get -u -v github.com/davidrjenni/reftools/cmd/fillstruct SUCCEEDED for filling a struct literal with default values  
go get -u -v github.com/rogpeppe/godef SUCCEEDED 轉到定義2  
go get -u -v golang.org/x/tools/cmd/godoc SUCCEEDED 鼠標懸停顯示文檔注釋2  
go get -u -v sourcegraph.com/sqs/goreturns SUCCEEDED 格式化代碼2  
go get -u -v github.com/golang/lint/golint SUCCEEDED for linting https://github.com/golang/lint
go get -u -v github.com/cweill/gotests/... SUCCEEDED 生成單元測試  
go get -u -v github.com/derekparker/delve/cmd/dlv SUCCEEDED 調試  
go get -u -v github.com/zmb3/gogetdoc   轉到定義2/鼠標懸停顯示注釋2  
go get -u -v golang.org/x/tools/cmd/goimports   格式化代碼2  


免責聲明!

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



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