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. 斜率优化第一题! HDU3507 | 单调队列优化DP

    放一手原题 题解: 第一次写(抄)斜率优化,心里还是有点小激动的.讲一下怎么实现的! 首先我们可以考虑一个朴素的dp:DP[i]表示前i个数字的最少花费,显然我们有一个转移方程 DP[i]=min{D ...

  2. BZOJ3675 [Apio2014]序列分割 【斜率优化dp】

    3675: [Apio2014]序列分割 Time Limit: 40 Sec  Memory Limit: 128 MB Submit: 3366  Solved: 1355 [Submit][St ...

  3. CF916E Jamie and Tree 解题报告

    CF916E Jamie and Tree 题意翻译 有一棵\(n\)个节点的有根树,标号为\(1-n\),你需要维护一下三种操作 1.给定一个点\(v\),将整颗树的根变为\(v\) 2.给定两个点 ...

  4. apache出现You don't have permission to access / on this server. 提示

    今天在新的linux上跑原来的代码,使用的虚拟主机的模式进行操作.几个相关的网站放在一个文件里,想法是通过网站列出的目录进行相应的网站进行操作.一切设置完成后,在浏览器中运行出现在You don't ...

  5. HDU5154拓扑排序

    Harry and Magical Computer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  6. HDU3524 数论

    Perfect Squares Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  7. ES6数组的扩展运算符

    一.基本使用 ES6中函数可以使用 rest参数 接收函数的多余参数,组成一个数组,放在形参的最后面. let fn = (a, ...value) => { console.log(a); c ...

  8. 概率dp+期望dp 题目列表(一)

    表示对概率和期望还不是很清楚定义. 目前暂时只知道概率正推,期望逆推,然后概率*某个数值=期望. 为什么期望是逆推的,例如你求到某一个点的概率我们可以求得,然后我们只要运用dp从1~n每次都加下去就好 ...

  9. vijos 1907 DP+滚动数组

    描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管或者掉在地上的话,便宣告 ...

  10. MyBatis框架的使用及源码分析(四) 解析Mapper接口映射xml文件

    在<MyBatis框架中Mapper映射配置的使用及原理解析(二) 配置篇 SqlSessionFactoryBuilder,XMLConfigBuilder> 一文中,我们知道mybat ...