vscode 安装go第三方扩展包填坑记录的详细教程

 更新时间:2020年05月11日 10:34:53   作者:风子杨yxf771  
这篇文章主要介绍了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】 安装即可。

附:所有第三方类包安装完的效果:

总结

到此这篇关于vscode 安装go第三方扩展包填坑记录的文章就介绍到这了,更多相关vscode go扩展包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言程序如何求学生总成绩和平均成绩

    C语言程序如何求学生总成绩和平均成绩

    这篇文章主要介绍了C语言程序如何求学生总成绩和平均成绩,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • C++中地图按键排序实现示例

    C++中地图按键排序实现示例

    这篇文章主要为大家介绍了C++中地图按键排序实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • C语言文件操作详情(一)

    C语言文件操作详情(一)

    这篇文章主要介绍了C语言文件操作详情,主要讨论的是数据文件,通过处理的磁盘上的文件展开主题内容介绍,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-04-04
  • C语言数据结构中定位函数Index的使用方法

    C语言数据结构中定位函数Index的使用方法

    这篇文章主要介绍了C语言数据结构中定位函数Index的使用方法的相关资料,希望通过本文能帮助到大家,让大家理解这部分内容,需要的朋友可以参考下
    2017-10-10
  • 使用QPainter画一个3D正方体

    使用QPainter画一个3D正方体

    这篇文章主要为大家详细介绍了使用QPainter画一个3D正方体,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • C语言新手入门速通手册

    C语言新手入门速通手册

    C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。C 语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者在现代软件程序员之间都得到广泛使用
    2022-04-04
  • Matlab实现遗传算法的示例详解

    Matlab实现遗传算法的示例详解

    这篇文章主要为大家详细介绍了什么是遗传算法,以及如何利用Matlab从零开始自己写一个遗传算法函数,文中的代码对我们学习有一定帮助,需要的可以参考一下
    2022-03-03
  • C++11 中的std::function和std::bind详解

    C++11 中的std::function和std::bind详解

    这篇文章主要介绍了C++ 11 std::function和std::bind,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-10-10
  • Qt实现Flappy Bird游戏

    Qt实现Flappy Bird游戏

    这篇文章主要为大家详细介绍了Qt实现Flappy Bird游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • 详解C语言结构体中的char数组如何赋值

    详解C语言结构体中的char数组如何赋值

    这篇文章主要给大家介绍了关于C语言结构体中的char数组如何赋值的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03

最新评论