Windows下配置visual studio code开发go环境
1. 安装vs code
下载安装即可,然后设置autosave
很多材料说在file菜单就可以设置,但是我没找到。
我是在file->preference->user setting里,用ctrl+F找到的"files.autoSave": "off",
然后粘贴到右边,粘贴为"files.autoSave": "on",
2. 安装go
我是装在c:\go文件夹下。
必须在1.5以上,因为调试控件要求go必须在1.5以上。
如果有之前的版本,必须卸载,清空go安装目录。否则会对cgo功能造成影响。具体来说,就是delve编译过不去。
3. 配置go环境变量
添加gopath:c:\go
给path添加 C:\go\bin
注意:重启后环境变量才能生效。
4. 为vs code安装go开发环境
打开vs code。按ctrl+shift+p,输入ext,找到extensions:install extension
找到go,要下载量比较大的,是lukehoban开发的那个。
下载安装。
然后按照第一节中提到的方法,给file->preference->user setting添加一些配置项:
"go.buildOnSave": true,
"go.lintOnSave": true,
"go.vetOnSave": true,
"go.buildFlags": [],
"go.lintFlags": [],
"go.vetFlags": [],
"go.useCodeSnippetsOnFunctionSuggest": false,
"go.formatOnSave": false,
"go.formatTool": "goreturns",
安装go插件之后,功能包括
n 代码着彩色
n 代码自动完成(使用gocode)
n 代码片段
n 快速提示信息(使用godef)
n 跳转到定义(使用godef)
n 搜索参考引用(使用go-find-references)
n 文件大纲(使用go-outline)
n 重命名(使用gorename)
n 保存构建(使用go build和go test)
n 代码格式化(使用goreturns或goimports或gofmt)
n 调试代码(使用delve)
但是如上所述,不安装插件的话,会缺少很多功能。因此要给go安装插件。官方推荐使用go get指令获取,因此还要安装git
5. 安装git
一路双击,但是注意,有一步是让你选git是只能在内部的命令行中用,还是可以在windows的命令提示符用,当然选在windows的命令提示符那个,我记得是三个选项中的第二个。如果不选的话,过后要自己设置环境变量。
装完之后再重启,打开命令提示符,输入git version,看是否安装成功。
然后就可以用go get指令了。
6. 给go安装插件
官方推荐的安装方式为,命令提示行中输入
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/lukehoban/go-find-references
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
用这种方式,可以通过git下载他们的源代码,然后go自动编译,插件就安装好了。
但是在国内,由于某个伟大的墙,很多地址获取不到。
如果你能番羽墙,可以番羽墙之后继续使用这种方式。
如果你不能,请在通过第三方下载这些插件的源代码,然后放在src文件夹下。
例如:github.com/nsf/gocode的代码放在C:\go\src\github.com\nsf\gocode
然后进入这个文件夹,运行指令:go install.
这里提供一个脚本,简化运行,另存为批处理文件即可。
cd "c:\go\src\github.com\nsf\gocode"
go install
cd "c:\go\src\github.com\rogpeppe\godef"
go install
cd "c:\go\src\github.com\golang\lint\golint"
go install
cd "c:\go\src\github.com\lukehoban\go-find-references"
go install
cd "c:\go\src\github.com\lukehoban\go-outline"
go install
cd "c:\go\src\sourcegraph.com\sqs\goreturns"
go install
cd "c:\go\src\golang.org\x\tools\cmd\gorename"
go install
cd "c:\go\src\github.com\tpng\gopkgs"
go install
cd "c:\go\src\github.com\newhook\go-symbols"
go install
pause
如果安装过不去,可能是因为缺少依赖的库造成的(呵呵哒),也有可能是版本不匹配,推荐还是用git+代理的方式。起码保证下回来的是最新的。
7. 安装调试功能
要使用调试功能,需要安装delve
如上所述,这个也要自己下代码然后编译。
但是这次的问题不是FQ,而是这货引用了cgo功能,所以需要gcc编译器。调试工具之所以需要1.5以上版本,也是因为1.5以上才支持cgo。
如果是1.5版本,在命令提示符中,输入set GO15VENDOREXPERIMENT=1,打开这个功能。如果是1.6以上,默认已经设置这个标记位了。
如果你已经有gcc,可以尝试一下能否编译,如果没有,请根据以下教程安装mingw
8. 安装mingw
下载mingw-w64(https://sourceforge.net/projects/mingw-w64/),然后安装选项选:
n Version: Latest available (5.3.0 at time of writing)
n Architecture: x86_64
n Threads: posix (shouldn't actually matter)
n Exception: seh (shouldn't actually matter)
n Build revision: Latest available (0 at time of writing)
这里下载比较慢,如果图快的,可以下载x86_64-5.3.0-release-posix-seh-rt_v4-rev0.7z。
解压缩到某个文件夹。然后配置环境变量
mingw:C:\Program Files\mingw-w64
C_INCLUDEDE_PATH:%mingw%\include
CPLUS_INCLUDE_PATH:%mingw%\include\c++\3.4.5; %mingw%\include\c++\3.4.5\backward; %mingw%\include
LIBRARY_PATH:%mingw%\lib
给path添加:%mingw%\bin
修改环境变量之后重启
然后打开命令提示符,输入gcc -v,出现一大堆代码,就是安装好了。
9. 编译delve
首先安装另外一个组件,打开命令提示符,输入
go get -v -u github.com/peterh/liner
测试了一下,这个不需要FQ,直接就可以下载。
然后下载delve的代码,地址
github.com/derekparker/delve/cmd/dlv
将delve的源代码放到go的src文件夹下面,例如C:\go\src\github.com\derekparker\delve。
最后进入这个文件夹,输入mingw32-make install
10. 打开项目
打开vs code,观察一会,看看右下角是否有analysis tool missing
如果有,说明是否个插件没安装好。可以双击,然后自动安装一下,在弹出的信息框看一下就知道哪个没有装好了。
然后打开项目文件夹,最好是其中有main文件的那个。
最后点击左边的最后那个debug按钮,然后点开始调试。
因为是第一次运行,会让你选择语言,当然选go,然后会自动生成一个配置文件
{
"version": "0.2.0",
"configurations": [
{
"name": "main.go",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceRoot}",
"env": {},
"args": []
}
]
}
保持默认,但是将name改为main.go。然后应该就可以开始调试代码了。
浙公网安备 33010602011771号