[golang学习] 在idea中code & debug
[已废弃]不需要看
idea 虽然审美倒退了n年. 不过功能还是相当好用的.
idea 的go插件堪称最好的go ide.
1. 语法高亮支持
2. 智能提示
3. 跳转定义(反跳转回来)
4. 集成debugger
还有重构等等功能也不错.
这些都是用起来让人很舒服的功能. 你要是用vim/emacs/sublime啥的. 当我没说.
很多人可能都不知道golang 代码可以debug. 很多人用console gdb命令式的调试. 如果不需要界面化的调试器, 也可以略过了.
1. 语法高亮支持

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


虽然我觉得VS + VA的提示更吊一点. 不过这样也还不错.
3. 跳转定义(反跳转回来)

这在查看代码时很有用.
比如我跳转到fmt.Print的声明. 我还想跳转回来. 就可以back一下, 然后继续code.
4. 集成debugger
这个是重头戏. 先上两个图.

可以很方便的增删断点.
可以单步调试等等.
下面的debugger 页签中有三个窗口
frames窗口 : 查看stack 堆栈
variables窗口 : 查看变量, 可以看出来, 支持显示复杂变量. 比如 []byte string struct等.
watch窗口 : 监视变量

这个是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版本.

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

打开configure -> Project Default -> Project Structure. 在这里配置golang的sdk.
3. debug golang
选择 菜单run -> edit configurations 打开 run/debug configurations窗口.

这里似乎有点小问题. 如果enable debugging无法勾选的话. 先勾选/反勾选 build before run. 然后勾选enable debugging.
注意. 必须勾选enable debugging. 否则无法调试.
然后切换到debug标签.

gdb 可以从mingw / liteide / zesu 等等中复制出来. 要求版本应该是7.1以上.
gdb.exe对应32位系统.
gdb64.exe对于64位系统.
不能混用. 否则无法识别exe的格式.
最后, run -> debug "test" . 骚年开始调试喽.
[golang学习] 在idea中code & debug的更多相关文章
- VC++学习之VC中常见问题
VC++学习之VC中常见问题 (1)为什么某个类突然在工作区间里面突然看不见了? 只是类隐藏了,打开FILEVIEW,找到隐藏类的头文件,随便敲一下键盘的空格键,类就会在CLASSVIEW中显示了 ( ...
- Golang学习:sublime text3配置golang环境
最近导师让学习golang, 然后我就找了些有关golang的学习视频和网站. 昨天在电脑上下载了go tools, 之后在sublime上配置了golang的运行环境.By the way, 我的电 ...
- golang学习笔记16 beego orm 数据库操作
golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...
- golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息
golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...
- golang学习笔记5 用bee工具创建项目 bee工具简介
golang学习笔记5 用bee工具创建项目 bee工具简介 Bee 工具的使用 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/instal ...
- go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE
go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...
- Golang学习系列:(一)介绍和安装
Golang学习系列:(一)介绍和安装 Java程序员带你来到Go的世界,让我们开始探索吧! Go是一种新的语言,一种并发的,带有垃圾回收的.快速编译的语言,它具有一下特点: 他可以在一台计算机上用几 ...
- 【转】 C#学习笔记14——Trace、Debug和TraceSource的使用以及日志设计
[转] C#学习笔记14——Trace.Debug和TraceSource的使用以及日志设计 Trace.Debug和TraceSource的使用以及日志设计 .NET Framework 命名空 ...
- 【golang学习记录】环境搭建
[golang学习记录]环境搭建 一. 概述 本文是[golang学习记录]系列文章的第一篇,安装Go语言及搭建Go语言开发环境,接下来将详细记录自己学习 go 语言的过程,一方面是为了巩固自己学到的 ...
随机推荐
- jquery 回车切换 tab功能
挺有趣的,Jquery 回车切换tab功能的实现哦 <html> <head><!--jquery库.js--></head> <body> ...
- Message Forwarding
[Preprocess] 在使用forwarding机制前,会先经历2个步骤,只有当这2个步骤均失败的情况下,才会激活forwarding. 1.+(BOOL)resolveInstanceMetho ...
- 主题敏感词PageRank
[主题敏感词PageRank] PageRank忽略了主题相关性,导致结果的相关性和主题性降低,对于不同的用户,甚至有很大的差别.例如,当搜索“苹果”时,一个数码爱好者可能是想要看 iphone 的信 ...
- 如何在Centos上安装python3.4
Centos上面默认的Python版本是2.6,本文介绍如何安装3.4版本. 0.下载前准备 需要安装以下库,不然会有问题. yum -y install zlib-devel bzip2-devel ...
- sql的join用法
SQL join 用于把来自两个或多个表的行结合起来,sql join主要包括inner join. left join .right join .full outer join. 先介绍一下表里面的 ...
- WIN7 WIN8 笔记本无线网卡MAC地址修改
找了好久,尝试了好多种方法,最后终于在下面的网址里找到了解决方案 http://jingyan.baidu.com/article/ceb9fb10e32bce8cac2ba04a.html 使用MA ...
- IIS中的上传目录权限设置问题
虽然 Apache 的名声可能比 IIS 好,但我相信用 IIS 来做 Web 服务器的人一定也不少.说实话,我觉得 IIS 还是不错的,尤其是 Windows 2003 的 IIS 6(马上 Lon ...
- DIV 布局 左中右
<style type="text/css">body{ margin:0; padding:0;}.Header{ height:100px; background: ...
- OC:属性、点语法、KVC
//属性的属性 属性定义在一个 .h文件里,在这个.h文件里可以定义实例变量(就是这个类的特征),也可以通过 @protery(属性约束关键字) 属性名字类型 属性名 来定义一些属性,在prope ...
- javaScript return false
在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页. Return False 就相当于终止 ...