前言
在使用了很久的SublimeText后,我开始接触了一段时间的visual studio code(vscode)。不得不说这款编辑器的确称得上是微软的良心之作。从刚开始写PHP开始我就一直使用的SublimeText,后来在学Laravel的时候也混合这用PhpStorm。
但是当我学Golang的时候看到很多人使用的是vscode,所以也接触了下。今天主要讲的是在安装了Go插件之后一些扩展的下载问题。
问题
当你使用vscode做golang开发的时候,必装的一个扩展就是Go。那么安装以后她能帮你格式化代码、保存的时候移除没有使用到的库等等(SublimeText上的GoSublime也一样可以) 。但是装完这个扩展以后她还依赖好几个库:
- gocode for auto-completion
- go-outline for symbol search in the current file
- go-symbols for symbol search in the current workspace
- gopkgs for auto-completion of unimported packages
- guru for the
Find all References
feature - gorename for renaming symbols
- goreturns or goimports for formatting code
- godef or gogetdoc for the
Go to Definition
feature - godoc or gogetdoc for the documentation that appears on hover
- golint or gometalinter or megacheck or golangci-lint or revive for linting
- dlv for debugging
更加具体的说明可以参考官方wiki
也就是go扩展会自动安装上面的这些库。重点来了,这些库很多都是在国外的,所以会导致各种超时。
解决方法
首页你得有一个翻墙工具,Shadowsocks或者是V2ray平台的,具体可以自己找教程。以Shadowsocks为例
配置好以后,打开vscode,mac用户按cmd+,
来打开设置,找到用户设置->应用程序->代理
把上面红框里的配置填写上你的电脑配置结果,Shadowscocks一般都是http://127.0.0.1:1080
而V2ray平台一般是http://127.0.0.1:31210
验证
配置后,关闭彻底关闭vscode,然后重新打开。这时候随便打开一个.go
结尾的文件,一般会在右下角弹出提示。直接点击install
或者update
即可。
最终效果如下
为了演示我特地删掉了$GOPATH/bin/go-outline
和$GOPATH/src/github.com/ramya-rao-a/go-outline
所以上图中只成功的安装了一个。如果你是第一次操作应该会出现很多记录,就是我上面列举出的那些依赖库。
其实这个配置项在.json
中是"http.proxy": "http://127.0.0.1:31210",
2018-10-07更新: 增加一张完整安装图
后续参考: https://go.googlesource.com/tools/
➜ x git:(master) ✗ pwd
/Users/lePig/go/src/golang.org/x
➜ x git:(master) ✗ git clone https://go.googlesource.com/tools