[已废弃]不需要看

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的更多相关文章

  1. VC++学习之VC中常见问题

    VC++学习之VC中常见问题 (1)为什么某个类突然在工作区间里面突然看不见了? 只是类隐藏了,打开FILEVIEW,找到隐藏类的头文件,随便敲一下键盘的空格键,类就会在CLASSVIEW中显示了 ( ...

  2. Golang学习:sublime text3配置golang环境

    最近导师让学习golang, 然后我就找了些有关golang的学习视频和网站. 昨天在电脑上下载了go tools, 之后在sublime上配置了golang的运行环境.By the way, 我的电 ...

  3. golang学习笔记16 beego orm 数据库操作

    golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...

  4. golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息

    golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...

  5. golang学习笔记5 用bee工具创建项目 bee工具简介

    golang学习笔记5 用bee工具创建项目 bee工具简介 Bee 工具的使用 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/instal ...

  6. go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE

    go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...

  7. Golang学习系列:(一)介绍和安装

    Golang学习系列:(一)介绍和安装 Java程序员带你来到Go的世界,让我们开始探索吧! Go是一种新的语言,一种并发的,带有垃圾回收的.快速编译的语言,它具有一下特点: 他可以在一台计算机上用几 ...

  8. 【转】 C#学习笔记14——Trace、Debug和TraceSource的使用以及日志设计

    [转] C#学习笔记14——Trace.Debug和TraceSource的使用以及日志设计 Trace.Debug和TraceSource的使用以及日志设计   .NET Framework 命名空 ...

  9. 【golang学习记录】环境搭建

    [golang学习记录]环境搭建 一. 概述 本文是[golang学习记录]系列文章的第一篇,安装Go语言及搭建Go语言开发环境,接下来将详细记录自己学习 go 语言的过程,一方面是为了巩固自己学到的 ...

随机推荐

  1. 清空easyui datagrid

    $('#grid').datagrid("loadData",{total:0,rows:[]});

  2. Hadoop MapReduce概念学习系列之map并发任务数和reduce并发任务数的原理和代码实现(十八)

    首先,来说的是,reduce并发任务数,默认是1. 即,在jps后,出现一个yarnchild.之后又消失. 这里,我控制reduce并发任务数6 有多少个reduce的并发任务数可以控制,但有多少个 ...

  3. linux极点五笔无法输入词组_ibus设置

    菜鸟学linux——用的是ubuntu 不知道是不是按个哪些快捷键,极点五笔突然无法输入词组.那个抓狂啊 没关系,设置一下就ok 第一步:右上角输入法,右键——>首选项——>常规——> ...

  4. Liunx更新源

    不同的网络状况连接以下源的速度不同, 建议在添加前手动验证以下源的连接速度(ping下就行),选择最快的源可以节省大批下载时间. 首先备份源列表: sudo cp /etc/apt/sources.l ...

  5. mac电脑Coding显示/隐藏文件

    苹果Mac OS X操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在Mac终端输入命令.显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写): 显示Mac隐藏文件的命令:def ...

  6. php连接mysql配置

    php连接mysql测试代码: <?php $link=mysql_connect('localhost','root','123456'); if(!$link) echo "失败! ...

  7. RS232串口用事件接受数据(一问一答)

    private void button1_Click(object sender, EventArgs e) { serialPort1.Open(); serialPort1.DataReceive ...

  8. 虚拟主机、VPS、云主机以及独立服务器的关系

    很多人对虚拟主机.VPS.云主机以及独立服务器的关系不是很了解,我在这里给大家简单分析一下. 先总结一下: (1)虚拟主机是把一台物理机器分割成很多的小空间,这些空间共享操作系统的资源,比如:同一个操 ...

  9. maven中如何打包源代码

    http://yanghaoyuan.iteye.com/blog/2032406 使用Maven对项目部署太方便了,特别是依赖关系,最近学习使用Maven,为了备忘和技术的分享特意注册个账号记录到博 ...

  10. iOS开发-UIColor转UIIamge方法

    只能说太神奇了,完美应用到我的毕业设计 - (UIImage*) createImageWithColor: (UIColor*) color { CGRect rect=CGRectMake(,,s ...