最近在学习golang,遇到IDE的选择问题,其实选项只有三个:GoLand: A Clever IDE to Go by JetBrains 、 Visual Studio Code Go IDE 和其它工具,这里其它工具包括各种编辑器golang插件或者通用IDE工具的扩展。本篇主要关注Visual Studio Code Go IDE ,这是一个免费且设计精良的工具,值得尝试。
安装
Visual Studio Code Go IDE 看数据有3百多万下载,看来深受大家喜爱。安装也比较简单
-
Navigate to the Extensions pane (Ctrl+Shift+X). Search for "Go" and install this extension (the publisher ID is
golang.Go
) -
安装辅助工具,激活Command Palette(菜单View/Command Palette...,或者Shift+Command+P),然后运行Run Go: Install/Update Tools
执行完之后,打开go语言的源代码就会激活go模式,基本工具可用
用法
基本用法可以参考这篇文档:vscode-go/features.md at master · golang/vscode-go ,最常用的代码浏览、导航、跳转都支持,还有代码高亮、格式化,基本满足简单开发用了。
比较实用的功能:
- 单元测试集成,可以生成单元测试框架,快速执行单元测试用例,支持run和debug模式,代码和测试用例之间快速切换
- 快速查看定义和引用
- 可以查看代码outline,对于大的代码文件很有用
- 内置常用代码片段,同时支持自定义代码片段
- 整理imports
- 重构支持:重命名
- 自动快速生成代码结构,例如:
Go: Add Tags to Struct Fields
、Go: Generate Interface Stubs
和Go: Fill struct
- 易用的错误提示:包括编译错误、语法错误提示、lint提示
- 提供语言沙箱Go Playground,可以快速学习语言本身
- Quick info on hover可以快速提供文档支持
高级功能
这个插件还支持一些高级特性。
第一个是,支持go的module模式和GOPATH模式,详情请参考文档
第二个是,支持Go language server gopls
,详情请参考两边的文档,后续有机会再学习
注意点
go语言里有些地方还不是很适应,比如之前碰到的一个点,是默认没有set支持,今天又遇到另外一个,go里有隐式后置的分号;,一般情况下不写最后的分号,简单的语句没事,但是在数组、参数等情况下,会有奇怪的报错,需要适应适应。
Reference
- Go - Visual Studio Marketplace
- vscode-go/Go-with-VS-Code-FAQ-and-Troubleshooting.md at master · microsoft/vscode-go
- GoLand: A Clever IDE to Go by JetBrains
- vscode-go/gopls.md at master · golang/vscode-go
- vscode-go/CHANGELOG.md at master · golang/vscode-go
- vscode-go/modules.md at master · golang/vscode-go
- Modules · golang/go Wiki
- blog.golang.org/using-go-mo…
- golang.org/cmd/go/#hdr…
有疑问加站长微信联系(非本文作者)