Go更好的开发环境Visual Studio Code
一直以来Go的IDE并没有合适的选择.曾经试过liteide,但是不合口味,一直以来就用Sublime+Gosublime+Godef来作为环境,但是因为Sublime对显示的支持等因素.用起来不算很舒服.
最近看到Visual Studio Code对Go的支持,简直耳目一新.而且因为Visual Studio Code对跨平台的支持,感觉 简直 完美.
当然这些功能通过Sublime加插件的方式也能基本实现,但是两者带来的体验嘛,不可同日而语.
Visual Studio Code
Visual Studio Code:下载地址
Go for Visual Studio Code支持特性
代码高亮
自动完成列表(使用
gocode
)代码片段
快速提示函数定义(使用
godef
)跳转定义(使用
godef
)查找引用(使用
go-find-references
)代码大纲(使用
go-outline
)重命名(使用
gorename
)保存时编译
代码格式化
Imports管理
调试(使用
delve
)
功能展示
IDE特性
调试
安装方法
Golang
Golang:下载地址
下载需要平台的安装包安装即可,这里不多介绍.我使用的是Mac,下载了pkg文件安装了就好,后面也不具体介绍其他平台的,但是大致都相同.安装完成后记得设置环境变量.
Visual Studio Code
安装Visual Studio Code 0.10 或以上版本,在 Visual Studio Code中 按下c md-shift-p
,在命令框输入install,选择Install Extension
然后输入Go,查找并选中Rich Go language support for Visual Studio Code
,有两个,别选错了.
安装完成后会提示重启软件.
安装插件
需要在命令行下依次安装以下插件,这些都是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
配置
按下cmd+,
或者通过菜单打开配置文件.
{
"go.buildOnSave": true,
"go.lintOnSave": true,
"go.vetOnSave": true,
"go.buildFlags": [],
"go.lintFlags": [],
"go.vetFlags": [],
"go.formatOnSave": true,
"go.formatTool": "goreturns",
"go.goroot": "/usr/local/go",
"go.gopath": "/Users/damir/devTool/golib:/Users/damir/Code/go"
}
其中go.formatTool
可以修改为goreturns
,goimports
,gofmt
.
go.formatOnSave
设置为true
才可以保存时格式化.
相关的路径必须设置正确.
如果需要给不同的项目做不同的配置,那么将配置文件放入
.vscode/settings.json
即可
使用方法
自动保存
虽然插件作者强烈建议开启自动保存,但是我这里不推荐,开启了自动保存会出现代码编写一半发生跳动等问题.但是要使跳转定义等
功能正确工作,需要保存文件并确保无错.
代码高亮
打开Go项目所在文件夹,即可打开该项目,左侧点击相应的*.go文件,可见代码高亮了.
自动完成列表
输入相应的代码会自动提示
从图片上可以看出,同时也显示了函数的定义,显示方式也很不错.
代码片段
直接输入即触发.
快速提示函数定义
在实际编码过程中,经常会需要查看函数的参数信息,变量的类型,现在只需要将鼠标指上去即可查看.
跳转定义
跳转到函数定义只需要⌘+鼠标左键
,或者直接按下F12
即可.如果只需要大致查看⌘+鼠标左键指向
就能显示(可惜不能显示当前函数Doc).
返回到之前的按键是ctrl+-
或ctrl+shift+-
,这样就能快速导航了.
查找引用
可以通过命令呼叫或者用快捷键shift+F12
.查找项目下相关的引用.
代码大纲
按下⌘+P
,然后输入@即可.
重命名
选中需要重命名的方法名称或者变量名,按下F2
即可修改.
特别注意,这里不能双击选中方法名称或者变量名,否则会出错.你可以鼠标单击该位置,或者拖动选择.
我下面先演示错误操作提示的错误信息.
另外,重构操作较慢,需要等待
保存时编译
保存时会自动编译,并列出错误信息,也可以在错误行查看具体的错误信息.
Imports管理
可以通过⌘+Shift+P
来呼出Command窗口,输入Go Import
来导入,另外可以设置快捷键.当然从上面的保存时编译中
的动态图可以看出,输入一个包名并直接使用,保存的时候会自动导入,当然如果文件未用到该包,保存时会自动去除.
{"key":"cmd+k i","command": "go.import.add"}
我用了⌘+K I
来作为快捷键.
调试
调试还需要安装一些东西
要使用这个功能首先要保证go的版本为1.5或者以上.
这里介绍Mac OS的,如果其他操作系统可以参考[文档] ( https://github.com/derekparker/delve/wiki/Building) ,不过暂时不支持Windows
创建证书
打开应用程序–>其他–>钥匙串访问
打开菜单 钥匙串访问–>证书助理–>创建证书
输入名字
dlv-cert
,身份类型选择自签名根证书
,证书类型选择代码签名
,选中让我覆盖这些默认值
选项框.点击继续
.将有效天数
修改到3650填写相应的信息直到选择
指定用于该证书的位置
选择系统
,然后完成.
在主菜单中–>钥匙串–>系统–>dlv-cert–>右键–>显示简介–>信任–>使用此证书时
始终信任
.重启系统
获取代码与安装
注意:安装前如果你的GoPath包含:分割的多个路径,请先改为单路径.
git clone https://github.com/derekparker/delve.git
然后进入到这个目录下面执行GO15VENDOREXPERIMENT=1 CERT=dlv-cert make install
完成后即可安装成功
执行dlv
可见输出表示正确安装.
使用方法
按照如下步骤自动会生成配置文件
dlv项目现在bug不少,beego的项目现在也不能被调试,不过作者在持续改进.
在 Visual Studio Code中调试
Visual Studio Code快捷键
快捷键可以去快捷键的设置里面查看完整列表,这里列出一些常用的快捷键.
CMD+D #类似于sublime的该功能,能够自动选中其他相同的
ALT+鼠标点击 #选中不同的位置
CMD+UP #文件结尾
CMD+DOWN #文件开头
CMD+Right #行开头
CMD+Left #行结尾
CMD+P #调出导航,连按直接导航到相应的文件 CMD+E同样效果
CMD+O #打开文件
CMD+W #关闭激活窗口
CMD+K P #复制激活窗口的路径
CMD+B #折叠左侧窗口
CMD+SHIFT+P #显示命令窗口,等同于按F1
CMD+SHIFT+O #列出文件大纲
CTRL+G #跳转到行
CMD+F #查找,等同于CMD+G
ALT+CMD+F #替换
ALT+UP ALT+DOWN #移动行
CMD+. #快速Fix
CMD+ENTER #插入新行
CMD+SHIFT+K #删除当前行
以上快捷键是我自己常用的
写在最后
这个插件在某些功能上执行缓慢,不过插件还在持续演进,另外Visual Studio Code确实值得称赞,可以称得上良心,具体的还需要上手去体验.
相关的功能还很多,后面我会继续介绍一些.准备写一些Visual Studio Code搭建一个Web项目的全部,还有Visual Studio Code写C#项目的一些东西.
参考资料
Visual Studio Code 开源免费跨平台代码编辑器
Go for Visual Studio Code
delve