本文主要介绍的是如何使用VS Code 搭建一个进行Go开发的IDE。
Note
: 本文的所有操作都是在 OS X系统上进行的。
VS Code 介绍
VS Code 是微软开源的一个编辑器软件。刚面世的时候侧重于 C# 和前端开发,随着版本迭代和新功能出现,特别是支持安装第三方插件,VS Code 也支持其它语言的开发。
VS Code 原生支持智能提示、方法补全的语言有:JavaScript, JSON, HTML, CSS, LESS, SASS。如果装上下文提到的 Go 插件,也是能够支持 Go 语言的智能提示和方法补全。
VS Code 最牛逼的地方是 它和 Atom 都是基于 Electron 构建的应用,但是相比于 Atom 常被诟病的卡卡卡,VS Code 打开超大文件几乎秒开。
不足的地方是 VS Code 的第三方插件的丰富度不及 Atom,但是假以时日,随着更多人关注它,VS Code 的第三方插件肯定会越来越丰富。
下载安装
常用快捷键
⌘+⇧+P
/F1
万能键F12
跳转到声明的地方⌘+⇧+F
全文搜索⌘+P
快速切换文件- ⌘+点击指定文件,将此文件在分屏栏打开
⌘+D
多选⌘+E
打开命令行,其他指令其实都是基于命令行的,可直接在输入框输入?来查询指令⌃+G
跳转到指定行⌃+tab
快速切换到上一个文件,多次按(⇧)tab可以来回选择,也可以直接点击文件顶部名称来显示历史文件列表进行切换- ⌥+点击多处可以多光标操作
安装 Go 插件
vscode-go
是 VS Code 编辑器上非常好用的一个 golang 插件,它包括以下特性: - Colorization 代码着彩色
- Completion Lists 代码自动完成(使用gocode)
- Snippets 代码片段
- Quick Info 快速提示信息(使用godef)
- Goto Definition 跳转到定义(使用godef)
- Find References 搜索参考引用(使用go-find-references)
- File outline 文件大纲(使用go-outline)
- Workspace symbol search 工作区符号搜索(使用 go-symbols)
- Rename 重命名(使用gorename)
- Build-on-save 保存构建(使用go build和go test)
- Format 代码格式化(使用goreturns或goimports或gofmt)
- Add Imports 添加引用(使用 gopkgs)
- Debugging 调试代码(使用delve)
- 这里默认你已经安装了golang环境。
IDE 截图
使用快捷方式(⌘+P
)打开命令面板,输入以下命令,然后点击回车键,VS Code就开始安装Go插件。
|
|
安装完成后,按照以下说明配置一些 Go 设置。
打开 Preferences
-> User Settings
,主界面右边面板的 settings.json
输入以下配置:
|
|
注意上面的 go.goroot
和 go.gopath
的值,以本季系统的 GOROOT
和 GOPATH
为准。
vscode-go
依赖下面列出的工具,如果缺失某些工具的话,安装完 vscode-go
之后打开一个go文件,在编辑器的右下角会出现 Analysis Tools Missing
的警告,点击它就会自动安装缺失的工具。
- gocode: go get -u -v github.com/nsf/gocode
- godef: go get -u -v github.com/rogpeppe/godef
- golint: go get -u -v github.com/golang/lint/golint
- go-outline: go get -u -v github.com/lukehoban/go-outline
- goreturns: go get -u -v sourcegraph.com/sqs/goreturns
- gorename: go get -u -v golang.org/x/tools/cmd/gorename
- gopkgs: go get -u -v github.com/tpng/gopkgs
- go-symbols: go get -u -v github.com/newhook/go-symbols
- guru: go get -u -v golang.org/x/tools/cmd/guru
当然也可以直接在命令行中输入以下命令安装:
|
|
安装 delve
delve 只支持 Go 1.5以上版本,并且 Go 1.5版本的安装步骤和 Go 1.6是不一样的,相对来说 Go 1.6版本安装比较简单。
Go 1.6
如果系统安装了 HomeBrew
, 直接执行以下命令即可:
|
|
NOTE
: 按照此步骤安装delve,如果在稍后运行Go程序的时候出现 runtime/internal/sys 找不到
的错误,这是因为上一步的操作另外安装了Go环境,然后覆盖了之前的。可以执行以下命令卸载 brew
安装的 Go 环境:
|
|
Go 1.5
创建一个自签名的证书
创建自签名的步骤如下
- 打开应用
Keychain Access
(/Applications/Utilities/Keychain Access.app
) - 打开菜单
/Keychain Access/Certificate Assistant/Create a Certificate...
- 选择一个名称 (比如
dlv-cert
), 设置选项Identity Type
为Self Signed Root
, 设置选项Certificate Type
为Code Signing
然后勾选Let me override defaults
。 点击Continue
。 你可以把Validity Period
从 365天扩展到3650天。 - 连续点击多次
Continue
按钮知道到达Specify a Location For The Certificate
面板, 然后将选项Keychain
设置为System
。 - 如果你无法将证书以
System keychain
的形式存储,你可以将它创建为login keychain
,然后导出。接着再以System keychain
的形式导入。 - 创讲完后,在左边的
keychains
列表选择System
选项,你能看到你刚刚创建的证书。鼠标右键证书,然后选择Get Info
, 打开Trust
项, 将Code Signing
设置为Always Trust
。 - Yosemite 系统需要额外的操作: keychains 列表,选择 category Keys -> dlv-cert -> right click -> GetInfo -> Access Control -> 选择
Allow all applications to access this item
-> 保存变更。 - 你必须将
Keychain Access
应用退出,这样子才能使用到证书并且重启当前正在运行的taskgated
进程。你可以选择重启你的电脑。
安装
- 创建目录
mkdir $GOPATH/src/github.com/derekparker && cd $GOPATH/src/github.com/derekparker
- 克隆项目并且打开
git clone https://github.com/derekparker/delve.git && cd delve
- Go 1.5 需要执行的命令。
export GO15VENDOREXPERIMENT=1
- 开始安装
CERT=dlv-cert make install
如何断点调试
调试模式
第一次进入断点调试的时候,需要配置一些调试信息,步骤如下:
- 在 VS Code 中,切换到debug面板,快捷键是
⌘+⇧+D
。 - 点击左上角的齿轮图标(Open launch.json)。
- 选择 Go 环境。
launch.json
配置信息如下:
|
|
在需要调试的代码附近打个断点后,按 F5
即可开始断点调试了。