[已废弃]不需要看

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. Jquery 等待ajax返回数据loading控件ShowLoading组件

    1.意义 开发项目中,前台的页面要发请求到服务器,服务器响应请求返回数据到前台,这段时间,有可能因为返回的数据量较大导致前台页面出现短暂性的等待,此时如果用户因不知情而乱点击有可能造成逻辑混乱,所以此 ...

  2. 删除Ngnix 日志

    删除Ngnix日志的脚本 #!/bin/bash #初始化 LOGS_PATH=$(pwd)/logs YESTERDAY=$(date -d "yesterday" +%Y-%m ...

  3. ASP.NET的分页方法(二)

    第二讲主要使用到了常用的分页控件aspnetpager,这里对他就行一个简单的应用,具体大家可以到杨涛的博客上去寻找相关的DLL, 首先要先引用AspNetPager.dll,然后把这个DLL同时添加 ...

  4. UVa 1620 Lazy Susan (找规律)

    题意:给 n 个数,每次可以把4个连续的数字翻转,问你能不能形成1-n的环状排列. 析:找一下奇偶性,写几个数试试,就会找到规律. 代码如下: #include <cstdio> #inc ...

  5. iOS设置导航栏样式(UINavigationController)

    //设置导航栏baritem和返回baiitem样式 UIBarButtonItem *barItem = [UIBarButtonItem appearance]; //去掉返回按钮上的字 [bar ...

  6. CCPC总结

    [印象·南阳] 10月15日出发,威海—烟台—郑州—南阳,一路上欢声笑语,从谁是卧底到各类纸牌游戏,也是欢乐.在从郑州到南阳的车上,对面的好像是河南当地的学长,感叹道工作不易的样子,说还是学生时代最为 ...

  7. 子iframe刷新父ifrmae的方法

    //子iframe刷新父ifrmae的方法parent.location.href="";parent.location.reload();

  8. c#学习之旅------01

    一.交换两个数的值 //交换两个数的值 #region 方法一 , num2 = ;//待交换的两个数值 int temp;//临时变量 temp = num1; num1 = num2; num2 ...

  9. Windows xp 重载内核(使用Irp进行文件操作)

    一.前言 最近在阅读A盾代码A盾电脑防护(原名 3600safe)anti-rootkit开放源代码,有兴趣的可以去看雪论坛下载,本文代码摘自其中的重载内核. 二.实现步骤 1.ZwQuerySyst ...

  10. 在sql中使用了 hashbytes 函数

    在做项目的时候,在sql中使用了hashbytes函数,运用md5算法去加密一密码.代码如下 DECLARE @psw nvarchar(20) SET @psw = 'admin' SELECT h ...