zoukankan      html  css  js  c++  java
  • 让你成功安装vscode中go的相关插件

    注意:该演示环境是windows环境,linux和mac环境操作思路一样

    vscode中有很多go的相关插件,非常好用如下:
    gocode
    gopkgs
    go-outline
    go-symbols
    guru
    gorename
    gomodifytags
    goplay
    impl
    godef
    goreturns
    golint
    gotests
    dlv

    但是由于各种原因,这些插件无法安装,甚至你翻墙之后发现也还是无法安装,加上最近翻墙被限制的这么严格,所以总结了如下方法,让你在不翻墙的情况下还能将这些插件安装成功,下图是我直接通过vscode安装提示的错误:

    貌似运气还不错,还安装成功了几个,但是大部分还是没有安装成功,下面是vscode详细的安装日志:

    Installing 14 tools at D:go_projectin
      gocode
      gopkgs
      go-outline
      go-symbols
      guru
      gorename
      gomodifytags
      goplay
      impl
      godef
      goreturns
      golint
      gotests
      dlv
    
    Installing github.com/nsf/gocode SUCCEEDED
    Installing github.com/uudashr/gopkgs/cmd/gopkgs SUCCEEDED
    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/fatih/gomodifytags SUCCEEDED
    Installing github.com/haya14busa/goplay/cmd/goplay SUCCEEDED
    Installing github.com/josharian/impl FAILED
    Installing github.com/rogpeppe/godef SUCCEEDED
    Installing sourcegraph.com/sqs/goreturns FAILED
    Installing github.com/golang/lint/golint FAILED
    Installing github.com/cweill/gotests/... FAILED
    Installing github.com/derekparker/delve/cmd/dlv SUCCEEDED
    
    8 tools failed to install.
    
    go-outline:
    Error: Command failed: D:Goingo.exe get -u -v github.com/ramya-rao-a/go-outline
    github.com/ramya-rao-a/go-outline (download)
    Fetching https://golang.org/x/tools/go/buildutil?go-get=1
    https fetch failed: Get https://golang.org/x/tools/go/buildutil?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/go/buildutil: unrecognized import path "golang.org/x/tools/go/buildutil" (https fetch: Get https://golang.org/x/tools/go/buildutil?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    github.com/ramya-rao-a/go-outline (download)
    Fetching https://golang.org/x/tools/go/buildutil?go-get=1
    https fetch failed: Get https://golang.org/x/tools/go/buildutil?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/go/buildutil: unrecognized import path "golang.org/x/tools/go/buildutil" (https fetch: Get https://golang.org/x/tools/go/buildutil?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    
    go-symbols:
    Error: Command failed: D:Goingo.exe get -u -v github.com/acroca/go-symbols
    github.com/acroca/go-symbols (download)
    Fetching https://golang.org/x/tools/go/buildutil?go-get=1
    https fetch failed: Get https://golang.org/x/tools/go/buildutil?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/go/buildutil: unrecognized import path "golang.org/x/tools/go/buildutil" (https fetch: Get https://golang.org/x/tools/go/buildutil?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    github.com/acroca/go-symbols (download)
    Fetching https://golang.org/x/tools/go/buildutil?go-get=1
    https fetch failed: Get https://golang.org/x/tools/go/buildutil?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/go/buildutil: unrecognized import path "golang.org/x/tools/go/buildutil" (https fetch: Get https://golang.org/x/tools/go/buildutil?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    
    guru:
    Error: Command failed: D:Goingo.exe get -u -v golang.org/x/tools/cmd/guru
    Fetching https://golang.org/x/tools/cmd/guru?go-get=1
    https fetch failed: Get https://golang.org/x/tools/cmd/guru?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/cmd/guru: unrecognized import path "golang.org/x/tools/cmd/guru" (https fetch: Get https://golang.org/x/tools/cmd/guru?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    Fetching https://golang.org/x/tools/cmd/guru?go-get=1
    https fetch failed: Get https://golang.org/x/tools/cmd/guru?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/cmd/guru: unrecognized import path "golang.org/x/tools/cmd/guru" (https fetch: Get https://golang.org/x/tools/cmd/guru?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    
    gorename:
    Error: Command failed: D:Goingo.exe get -u -v golang.org/x/tools/cmd/gorename
    Fetching https://golang.org/x/tools/cmd/gorename?go-get=1
    https fetch failed: Get https://golang.org/x/tools/cmd/gorename?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/cmd/gorename: unrecognized import path "golang.org/x/tools/cmd/gorename" (https fetch: Get https://golang.org/x/tools/cmd/gorename?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    Fetching https://golang.org/x/tools/cmd/gorename?go-get=1
    https fetch failed: Get https://golang.org/x/tools/cmd/gorename?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/cmd/gorename: unrecognized import path "golang.org/x/tools/cmd/gorename" (https fetch: Get https://golang.org/x/tools/cmd/gorename?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    
    impl:
    Error: Command failed: D:Goingo.exe get -u -v github.com/josharian/impl
    github.com/josharian/impl (download)
    Fetching https://golang.org/x/tools/imports?go-get=1
    https fetch failed: Get https://golang.org/x/tools/imports?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/imports: unrecognized import path "golang.org/x/tools/imports" (https fetch: Get https://golang.org/x/tools/imports?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    github.com/josharian/impl (download)
    Fetching https://golang.org/x/tools/imports?go-get=1
    https fetch failed: Get https://golang.org/x/tools/imports?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/imports: unrecognized import path "golang.org/x/tools/imports" (https fetch: Get https://golang.org/x/tools/imports?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    
    goreturns:
    Error: Command failed: D:Goingo.exe get -u -v sourcegraph.com/sqs/goreturns
    Fetching https://sourcegraph.com/sqs/goreturns?go-get=1
    Parsing meta tags from https://sourcegraph.com/sqs/goreturns?go-get=1 (status code 200)
    get "sourcegraph.com/sqs/goreturns": found meta tag get.metaImport{Prefix:"sourcegraph.com/sqs/goreturns", VCS:"git", RepoRoot:"https://github.com/sqs/goreturns"} at https://sourcegraph.com/sqs/goreturns?go-get=1
    sourcegraph.com/sqs/goreturns (download)
    github.com/sqs/goreturns (download)
    Fetching https://golang.org/x/tools/imports?go-get=1
    https fetch failed: Get https://golang.org/x/tools/imports?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/imports: unrecognized import path "golang.org/x/tools/imports" (https fetch: Get https://golang.org/x/tools/imports?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    Fetching https://sourcegraph.com/sqs/goreturns?go-get=1
    Parsing meta tags from https://sourcegraph.com/sqs/goreturns?go-get=1 (status code 200)
    get "sourcegraph.com/sqs/goreturns": found meta tag get.metaImport{Prefix:"sourcegraph.com/sqs/goreturns", VCS:"git", RepoRoot:"https://github.com/sqs/goreturns"} at https://sourcegraph.com/sqs/goreturns?go-get=1
    sourcegraph.com/sqs/goreturns (download)
    github.com/sqs/goreturns (download)
    Fetching https://golang.org/x/tools/imports?go-get=1
    https fetch failed: Get https://golang.org/x/tools/imports?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/imports: unrecognized import path "golang.org/x/tools/imports" (https fetch: Get https://golang.org/x/tools/imports?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    
    golint:
    Error: Command failed: D:Goingo.exe get -u -v github.com/golang/lint/golint
    github.com/golang/lint (download)
    Fetching https://golang.org/x/tools/go/gcexportdata?go-get=1
    https fetch failed: Get https://golang.org/x/tools/go/gcexportdata?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/go/gcexportdata: unrecognized import path "golang.org/x/tools/go/gcexportdata" (https fetch: Get https://golang.org/x/tools/go/gcexportdata?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    github.com/golang/lint (download)
    Fetching https://golang.org/x/tools/go/gcexportdata?go-get=1
    https fetch failed: Get https://golang.org/x/tools/go/gcexportdata?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package golang.org/x/tools/go/gcexportdata: unrecognized import path "golang.org/x/tools/go/gcexportdata" (https fetch: Get https://golang.org/x/tools/go/gcexportdata?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    
    gotests:
    Error: Command failed: D:Goingo.exe get -u -v github.com/cweill/gotests/...
    github.com/cweill/gotests (download)
    Fetching https://golang.org/x/tools/imports?go-get=1
    https fetch failed: Get https://golang.org/x/tools/imports?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package github.com/cweill/gotests
        imports golang.org/x/tools/imports: unrecognized import path "golang.org/x/tools/imports" (https fetch: Get https://golang.org/x/tools/imports?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    github.com/cweill/gotests (download)
    Fetching https://golang.org/x/tools/imports?go-get=1
    https fetch failed: Get https://golang.org/x/tools/imports?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    package github.com/cweill/gotests
        imports golang.org/x/tools/imports: unrecognized import path "golang.org/x/tools/imports" (https fetch: Get https://golang.org/x/tools/imports?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
    

      

    其实去src目录下看的话,是下载成功了,但是没有安装成功,并且我们也可以看出有几个是可以直接安装成功的
    github.com/nsf/gocode
    github.com/tpng/gopkgs
    github.com/fatih/gomodifytags
    github.com/haya14busa/goplay
    github.com/rogpeppe/gode
    github.com/derekparker/delve/cmd/dlv

    解决方法

    关于go开发目录的结构这里不做过多解释,之前已经说过了

    进行如下命令进行目录切换:
    cd %GOPATH%srcgithub.comgolang
    我这里的GOPATH是在D:go_project
    如果src目录下面没有github.comgolang请自行创建

    完成目录切换后,开始下载插件包:
    git clone https://github.com/golang/tools.git tools

    当下载完成后,你会发现%GOPATH%srcgithub.comgolang多了一个tools目录
    需要把tools目录下的所有文件拷贝到%GOPATH%srcgolang.orgx ools下,如果没有自行创建
    当然如果你是windows环境,如果你当前是在%GOPATH%srcgolang.orgx ools
    目录下,你可以直接使用如下命令进行拷贝:
    xcopy /s /e %GOPATH%srcgithub.comgolang ools
    关于这个命令的使用可以具体百度查看,如果对该命令不熟悉就手动拷贝,直接将你下载的tools目录下的所有文件拷贝到%GOPATH%srcgolang.orgx ools目录下

    经过多次测试,插件中有几个其实不用翻墙或其他方法就可以安装成功:
    github.com/nsf/gocode
    github.com/uudashr/gopkgs/cmd/gopkgs
    github.com/fatih/gomodifytags
    github.com/haya14busa/goplay/cmd/goplay
    github.com/derekparker/delve/cmd/dlv

    下面安装无法安装的插件
    开始安装:
    切换到GOPATH目录下,执行相关的go install 命令 

    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/josharian/impl 

    go install github.com/rogpeppe/godef 

    go install github.com/sqs/goreturns 

    go install github.com/golang/lint/golint 

    go install github.com/cweill/gotests/gotests

    这样vscode下go开发需要安装的插件都已经安装成功

  • 相关阅读:
    mysql 优化(包含sql语句的书写)
    tomcat优化
    MySQL——修改root密码的4种方法(以windows为例)
    实现窗口中的文档自动向上滚动,方便阅读
    处理文本框的鼠标事件,判断鼠标的状态
    通过给事件处理程序传递this参数,获取事件源对象的引用。单机提交按钮时在信息框中显示用户输入的字符。
    在标签的事件属性字符串中编写程序,检查用户输入的密码明文
    通过使用浏览器对象模型,输出当前浏览器窗口中打开的文档的URL信息,并将显示在窗口中。
    创建一个卡片对象,卡片上标有“名字”、“地址”和“电话”等信息。名片对象提供一个方法以输出这些信息。
    测试Array对象的sort方法的作用。将1985,1970,1999,1998,2000,1963这些年份按升序输出。
  • 原文地址:https://www.cnblogs.com/zhaof/p/7941611.html
Copyright © 2011-2022 走看看