Go更好的开发环境Visual Studio Code

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更好的开发环境Visual Studio Code_第1张图片
安装完成后会提示重启软件.

安装插件

需要在命令行下依次安装以下插件,这些都是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文件,可见代码高亮了.
Go更好的开发环境Visual Studio Code_第2张图片

自动完成列表

输入相应的代码会自动提示
Go更好的开发环境Visual Studio Code_第3张图片
从图片上可以看出,同时也显示了函数的定义,显示方式也很不错.

代码片段

直接输入即触发.
Go更好的开发环境Visual Studio Code_第4张图片

快速提示函数定义

在实际编码过程中,经常会需要查看函数的参数信息,变量的类型,现在只需要将鼠标指上去即可查看.
Go更好的开发环境Visual Studio Code_第5张图片

跳转定义

跳转到函数定义只需要⌘+鼠标左键,或者直接按下F12即可.如果只需要大致查看⌘+鼠标左键指向就能显示(可惜不能显示当前函数Doc).
返回到之前的按键是ctrl+-ctrl+shift+-,这样就能快速导航了.

查找引用

可以通过命令呼叫或者用快捷键shift+F12.查找项目下相关的引用.
Go更好的开发环境Visual Studio Code_第6张图片

代码大纲

按下⌘+P,然后输入@即可.
Go更好的开发环境Visual Studio Code_第7张图片

重命名

选中需要重命名的方法名称或者变量名,按下F2即可修改.

特别注意,这里不能双击选中方法名称或者变量名,否则会出错.你可以鼠标单击该位置,或者拖动选择.
 我下面先演示错误操作提示的错误信息.
 另外,重构操作较慢,需要等待

保存时编译

保存时会自动编译,并列出错误信息,也可以在错误行查看具体的错误信息.
Go更好的开发环境Visual Studio Code_第8张图片

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

  • 填写相应的信息直到选择指定用于该证书的位置选择系统,然后完成.

Go更好的开发环境Visual Studio Code_第9张图片

  • 在主菜单中–>钥匙串–>系统–>dlv-cert–>右键–>显示简介–>信任–>使用此证书时始终信任.
    Go更好的开发环境Visual Studio Code_第10张图片

  • 重启系统

获取代码与安装

注意:安装前如果你的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


你可能感兴趣的:(ide,Go,开发环境)