[golang学习] 在idea中code & debug

idea 虽然审美倒退了n年. 不过功能还是相当好用的. 

idea 的go插件堪称最好的go ide. 

1. 语法高亮支持

2. 智能提示

3. 跳转定义(反跳转回来)

4. 集成debugger

还有重构等等功能也不错. 

这些都是用起来让人很舒服的功能. 你要是用vim/emacs/sublime啥的. 当我没说. 

很多人可能都不知道golang 代码可以debug. 很多人用console gdb命令式的调试. 如果不需要界面化的调试器, 也可以略过了. 

 

1. 语法高亮支持

[golang学习] 在idea中code & debug_第1张图片

配色看起来挺搓的. 默认的, 我也懒得改. 大家可以随便改...

 

2. 智能提示

[golang学习] 在idea中code & debug_第2张图片

[golang学习] 在idea中code & debug_第3张图片

 

虽然我觉得VS + VA的提示更吊一点. 不过这样也还不错. 

 

3. 跳转定义(反跳转回来)

[golang学习] 在idea中code & debug_第4张图片

这在查看代码时很有用. 

比如我跳转到fmt.Print的声明. 我还想跳转回来. 就可以back一下, 然后继续code.

 

4. 集成debugger

这个是重头戏. 先上两个图. 

[golang学习] 在idea中code & debug_第5张图片

可以很方便的增删断点. 

可以单步调试等等. 

下面的debugger 页签中有三个窗口

frames窗口 : 查看stack 堆栈

variables窗口 : 查看变量, 可以看出来, 支持显示复杂变量. 比如 []byte string struct等. 

watch窗口 : 监视变量

 

 

[golang学习] 在idea中code & debug_第6张图片

 

 这个是gdb的命令窗口. 直接手动输入gdb 命令. 呵呵. 就和console的gdb一样. 

 

还有重构什么的. 都基于idea. 体验也不错.  

 

好了, 可以实现的效果都看了. 下面说下如何实现这些效果. 

 

 1. 安装idea 和 go 插件

 从这里https://www.jetbrains.com/idea/ 下载idea 最新的community版本. 

从这里https://github.com/go-lang-plugin-org/go-lang-idea-plugin/releases 下载最新的golang plugin 版本. 

也可以直接从idea 的插件仓库中在线安装. 但那个版本比较旧. 不支持go 1.4. 而插件的作者还没有发布修复版的release. 所以建议直接使用alpha版本. 

[golang学习] 在idea中code & debug_第7张图片

打开idea后, 选择configure -> plugins , 然后选择 install plugin from disk . 选择刚才下载的golang plugin的jar包. 即可. 

 

2. 配置golang

 [golang学习] 在idea中code & debug_第8张图片

 打开configure  -> Project Default -> Project Structure. 在这里配置golang的sdk. 

 

3. debug golang

 

选择 菜单run -> edit configurations 打开 run/debug configurations窗口.

 [golang学习] 在idea中code & debug_第9张图片

这里似乎有点小问题. 如果enable debugging无法勾选的话. 先勾选/反勾选 build before run. 然后勾选enable debugging. 

注意. 必须勾选enable debugging. 否则无法调试. 

然后切换到debug标签. 

[golang学习] 在idea中code & debug_第10张图片

 

gdb 可以从mingw / liteide / zesu 等等中复制出来. 要求版本应该是7.1以上. 

gdb.exe对应32位系统. 

gdb64.exe对于64位系统. 

不能混用. 否则无法识别exe的格式. 

 

最后, run -> debug "test" . 骚年开始调试喽.

 

你可能感兴趣的:(golang)