国内安装VSCode Golang扩展超时(timeout)问题解决方法
写于2020年06月21日

网上办法主要有两种

  1. 添加全局代理
  2. 使用github.com/golang替换golang.org地址

前两种方法都没有问题,现在介绍的第三种方法只是多一个选择。注意,Go Modules是golang 1.11新加的特性,如果你的golang版本低于1.11,则以下方法将不适用。

使用Go Modules下载安装

  1. 设置GO111MODULE环境变量,开启Go Modules
    1
    $ export GO111MODULE=on
  2. 添加代理
    1
    $ export GOPROXY=https://goproxy.cn //这里使用的是七牛云的代理
  3. 在当前目录下初始化mod文件
    1
    $ go mod init 名称
  4. 新建一个.go文件,名称随意,我们只是需要在此文件基础上下载需要的package(或在直接修改go.mod文件的require也可以)
    1
    $ touch xxx.go
  5. 添加(import)需要下载的扩展
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    package main

    import (
    "github.com/mdempsky/gocode"
    "github.com/uudashr/gopkgs/v2/cmd/gopkgs"
    "github.com/ramya-rao-a/go-outline"
    "github.com/stamblerre/gocode"
    "github.com/rogpeppe/godef"
    "github.com/sqs/goreturns"
    "golang.org/x/lint/golint"
    )
  6. 命令行执行下载
    1
    2
    3
    $ go mod download 

    $ go run xxx.go
  7. 安装扩展
    1
    2
    3
    4
    5
    6
    7
    $ go install github.com/mdempsky/gocode
    $ go install github.com/uudashr/gopkgs/v2/cmd/gopkgs
    $ go install github.com/ramya-rao-a/go-outline
    $ 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
  8. 删除.go文件
    1
    $ rm xxx.go