vscode安装go的很多插件都是失败,如下:

Installing 5 tools at E:\www\go_project\bin
go-symbols
guru
gorename
goreturns
golint Installing github.com/acroca/go-symbols FAILED
Installing golang.org/x/tools/cmd/guru FAILED
Installing github.com/sqs/goreturns FAILED 1 tools failed to install. goreturns:
Error: Command failed: D:\softs\Go\bin\go.exe get -u -v github.com/sqs/goreturns
github.com/sqs/goreturns (download)
package golang.org/x/tools/imports: directory "E:\\www\\go_project\\src\\golang.org\\x\\tools\\imports" is not using a known version control system
github.com/sqs/goreturns (download)
package golang.org/x/tools/imports: directory "E:\\www\\go_project\\src\\golang.org\\x\\tools\\imports" is not using a known version control system Installing golang.org/x/tools/cmd/gorename FAILED
Installing github.com/sqs/goreturns FAILED
Installing golang.org/x/lint/golint FAILED 5 tools failed to install. go-symbols:
Error: Command failed: D:\softs\Go\bin\go.exe get -u -v github.com/acroca/go-symbols
github.com/acroca/go-symbols (download)
package golang.org/x/tools/go/buildutil: directory "E:\\www\\go_project\\src\\golang.org\\x\\tools\\go\\buildutil" is not using a known version control system
github.com/acroca/go-symbols (download)
package golang.org/x/tools/go/buildutil: directory "E:\\www\\go_project\\src\\golang.org\\x\\tools\\go\\buildutil" is not using a known version control system guru:
Error: Command failed: D:\softs\Go\bin\go.exe get -u -v golang.org/x/tools/cmd/guru
package golang.org/x/tools/cmd/guru: directory "E:\\www\\go_project\\src\\golang.org\\x\\tools\\cmd\\guru" is not using a known version control system
package golang.org/x/tools/cmd/guru: directory "E:\\www\\go_project\\src\\golang.org\\x\\tools\\cmd\\guru" is not using a known version control system gorename:
Error: Command failed: D:\softs\Go\bin\go.exe get -u -v golang.org/x/tools/cmd/gorename
package golang.org/x/tools/cmd/gorename: directory "E:\\www\\go_project\\src\\golang.org\\x\\tools\\cmd\\gorename" is not using a known version control system
package golang.org/x/tools/cmd/gorename: directory "E:\\www\\go_project\\src\\golang.org\\x\\tools\\cmd\\gorename" is not using a known version control system goreturns:
Error: Command failed: D:\softs\Go\bin\go.exe get -u -v github.com/sqs/goreturns
github.com/sqs/goreturns (download)
package golang.org/x/tools/imports: directory "E:\\www\\go_project\\src\\golang.org\\x\\tools\\imports" is not using a known version control system
github.com/sqs/goreturns (download)
package golang.org/x/tools/imports: directory "E:\\www\\go_project\\src\\golang.org\\x\\tools\\imports" is not using a known version control system golint:
Error: Command failed: D:\softs\Go\bin\go.exe get -u -v golang.org/x/lint/golint
Fetching https://golang.org/x/lint/golint?go-get=1
https fetch failed: Get https://golang.org/x/lint/golint?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/lint/golint: unrecognized import path "golang.org/x/lint/golint" (https fetch: Get https://golang.org/x/lint/golint?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/lint/golint?go-get=1
https fetch failed: Get https://golang.org/x/lint/golint?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/lint/golint: unrecognized import path "golang.org/x/lint/golint" (https fetch: Get https://golang.org/x/lint/golint?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.)

  

最后在网上找到了解决办法。概要如下:

1.Tips:安装之前先检查下 %GoPath%\src\golang.org\x 下的tools/lint是否是从github获取的最新版本(注意一定要是git clone),正确如下图所示

因为后面安装 组件会大量用到这个tools和lint,如果不是最新或不是git clone更新组件会出现大量的:
directory "D:\GoPath\src\golang.org\x\tools\go\buildutil" is not using a known version control system
解决办法:
由于很多源代码引用了golang.org官方原生的一些代码,因此如果不存在的话会导致第三方的源代码会编译不通过,第一次使用文件夹不存在创建一个。这与golang本身的包管理机制不健全有很大的关系。
另一篇文章 window下golang包管理glide使用说明也是解决类似问题。go官方也许会在go2.0的版本解决此问题

1)在%GoPath%\src\golang.org\x 目录下git clone git@github.com:golang/tools.git,注意,只能git clone

2)在%GoPath%\src\golang.org\x 目录下git clone git@github.com:golang/lint.git,注意,只能git clone

2.官方文档说明 https://github.com/Microsoft/vscode-go/wiki/Go-tools-that-the-Go-extension-depends-on
也可以通过ctrl+shift+p 运行该命令一次性安装所有这些工具

Go: Install/Update Tools

组件安装过程稍微有一点慢,耐心的等待...

安装的组件 默认安装状态 组件备注 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  

经过步骤三的tools和lint的clone后安装正常都应该是SUCCEEDED ,且不需要墙,如遇个别安装FAILED 再单独执行go get ...,看还缺少什么在github.com/golang 中找到相应的组件按同样的方法clone在golang.org/x文件夹下
TIPS:go版本和组件全部都重新安装一遍后也能解决vscode 运行go卡的问题,具体原因不详,建议go版本更新后最好都重新安装下组件。
之前一直嫌弃vscode运行go卡而用liteide。重新开始用vscode主要原因: 1、颜值高 2、vscode已成为了非常流行的IDE

3.cannot find package错误

检查go环境配置,新安装的go1.10.2的版本默认会在当前用户新增一个GOPATH导致冲突无法编译,删除即可

4.调试

1)vscode打开main.go直接F5就可以运行&调试

2)生成exe,vscode F5运行会在根路径下生成一个debug文件,把debug文件重命名加.exe后缀可以直接当应用程序运行
另一种方式cmd切换到项目文件夹下用

go build -o demo.exe main.go

意思是main.go生成名为demo.exe应用程序,go build生成的exe实际比debug要小。

原文地址:https://www.cnblogs.com/nickchou/p/9038114.html

vscode的go插件安装的更多相关文章

  1. 解决vscode中golang插件依赖安装失败问题

    vscode中安装ms-vscode.go插件后可以开启对go语言的支持,ms-vscode.go插件需要依赖一些工具,安装完成后提示 gocode go-outline go-symbols gur ...

  2. 安装 VsCode 插件安装以及配置

    安装vscode 官方网站 https://code.visualstudio.com/ 下载后 1.双击vscode.exe 2.选择 我接受  3.一路下一步,遇到方框就选4.点击  安装按钮 v ...

  3. vscode自定义插件安装位置

    vscode的插件默认安装位置在: C:\Users\用户名\.vscode\extensions 如果不想将插件安装在C盘,可以自定义一个目标位置存储,使用如下: 右键快捷方式,在原本的目标后加入- ...

  4. Visual Studio Code作为Angular开发工具常用插件安装、json-server安装与使用、angular/cli安装失败问题

    前提准备: 搭建好Angular开发环境 1 安装Visual Studio Code 教程简单,不会的去问度娘 2 安装Chrome浏览器 教程简单,不会的趣闻度娘 3 Visual Studio ...

  5. vscode格式化代码插件Beautify

    vscode格式化代码安装 VsCode 格式化代码插件搜索并安装 Beautify 格式化代码插件使用:打开要格式化的文件 —> F1 —> Beautify file —> 选择 ...

  6. VSCode调试Html中的脚本 vscode前端常用插件推荐,搭建JQuery、Vue等开发环境 vsCode 添加浏览器调试和js调试的方法总结 VS Code - Debugger for Chrome调试js

    一.背景 使用Visual Studio Code写了一个简单的Html页面,想调试下其中script标签里的javascript代码,网上查了一通,基本都是复制粘贴或者大同小异的文章,就是要安装De ...

  7. VSCode高效开发插件

    VSCode 必装的 10 个高效开发插件 https://www.cnblogs.com/parry/p/vscode_top_ten_plugins.html 本文介绍了目前前端开发最受欢迎的开发 ...

  8. atom常用插件安装

    安装插件方法: File -Settings -Install 在搜索框里搜索你想要的插件,出来之后 点击install ,下图以 linter-selint 为例 ATOM常用插件推荐 simpli ...

  9. Angular14 Visual Studio Code作为Angular开发工具常用插件安装、json-server安装与使用、angular/cli安装失败问题、emmet安装

    前提准备: 搭建好Angular开发环境 1 安装Visual Studio Code 教程简单,不会的去问度娘 2 安装Chrome浏览器 教程简单,不会的趣闻度娘 3 Visual Studio ...

随机推荐

  1. oracle行转列函数WMSYS.WM_CONCAT 用法

    1.通过 10g 所提供的 WMSYS.WM_CONCAT 函数即可以完成 行转列的效果 select group_code, wm_concat(display_title) from DR_OPM ...

  2. 洛谷P4135 作诗 (分块)

    洛谷P4135 作诗 题目描述 神犇SJY虐完HEOI之后给傻×LYD出了一题: SHY是T国的公主,平时的一大爱好是作诗. 由于时间紧迫,SHY作完诗之后还要虐OI,于是SHY找来一篇长度为N的文章 ...

  3. javascript中不易分清的slice,splice和split三个函数

    1.slice(数组) 用法:array.slice(start,end) 解释:该方法是对数组进行部分截取,并返回一个数组副本:参数start是截取的开始数组索引,end参数等于你要取的最后一个字符 ...

  4. telnet退出

    windows下退出telnet:可以参考下面linux退出,也可以直接关闭窗口. linux退出telnet: 1.输入ctrl+]:显示出telnet>. 2.此时可以输入?,查看可以使用的 ...

  5. UVA 1638 Pole Arrangement

    https://vjudge.net/problem/UVA-1638 题意: n根长度分别为1,2,3,4……n的木棍 将这些木棍竖着排成一列 问从左边看能看到L根,从右边看能看到R根的方案数 将木 ...

  6. Flume 入门--几种不同的Sinks

    主要介绍几种常见Flume的Sink--汇聚点 1.Logger Sink 记录INFO级别的日志,一般用于调试.前面介绍Source时候用到的Sink都是这个类型的Sink 必须配置的属性: 属性说 ...

  7. 重复代码Duplicated Code---要重构的信号

    什么时候需要重构,当你在项目代码里面嗅到这个味道的时候,就要进行重构.   首个介绍的味道是重复代码的味道.   它表现出来的特征是这些:   1.一个类里面,两个函数中,含有相同的代码,类似的代码: ...

  8. 【NOIP】提高组2015 子串

    [题意]求从字符串A中取出k个互不重叠的非空子串顺序拼接形成B的方案数.n<=1000,m<=100,k<=m. [算法]动态规划 [题解]这题主要是将从i-l转移变成从i-1转移, ...

  9. 01-UIScrollView01-大图片展示

          源代码下载链接:01-UIScrollView01-大图片展示.zip283.7 KB // //  MJViewController.m //  01-UIScrollView01-大图 ...

  10. 【洛谷 P3165】 [CQOI2014]排序机械臂 (Splay)

    题目链接 debug了\(N\)天没debug出来,原来是找后继的时候没有pushdown... 众所周知,,Splay中每个编号对应的节点的值是永远不会变的,因为所有旋转.翻转操作改变的都是父节点和 ...