windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境

u011794223 · · 2376 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境

分类: goLang 2959人阅读 评论(0) 收藏 举报

目录(?)[+]

目前go语言在window或者linux操作系统上,最好的go语言开发调试环境都是由eclipse+goclipse插件+gdb搭建的。如果你还没有搭建好go语言的开发环境,请参考这篇博文《windows下Go语言的安装和开发环境搭建》

一般大家用eclipse都是开发java,如果要开发go,那就得安装goclipse插件了,这样才能有代码高亮、自动编译、联想提示、跳转到函数定义等丰富功能;如果还想要调试的功能,就还得有gdb;如果你还想引入github上的开源库,那还需要git客户端。下面一一介绍如果安装和使用:

安装goclipse

goclipse下载地址:http://goclipse.googlecode.com/svn/trunk/goclipse-update-site/ ,搞java的安装eclipse插件应该比较熟悉,安装过程也比较简单,直接点下一步,接受,yes,重启eclipse就可以了。如果安装成功,可以在Window–>Preferences里面左边的树形菜单里看到Go,点Go,然后在右边设置GOROOT的路径为go的安装目录即可,下面的几个Go tool的路径会被自动识别到。此时应该看到如下的效果:

浏览到go的安装目录

下面创建一个go项目来检验一下,在菜单栏如下操作File–>New–>Other–>选择Go–>选择Go Project–>Next–>给项目取个名字(比如gotest)–>Finish,创建成功,然后在项目的src目录下创建一个带main入口函数的源文件test。

配置gbd

配置gbd

创建带main函数的源文件

创建带main函数的源文件

然后编辑代码看看高亮和代码提示的效果

编辑go代码

编辑go代码

上面的效果不错吧,goclipse现在已经在方法提示、autocomplete和查看方法变量声明等功能方面支持得很好了,而且这些功能不用额外配置,因为goclipse中包含了一个gocode(用于Go语言的自动补全工具),在安装goclipse的时候会自动安装上gocode(比如:我的gocode在D:\software\green_software\eclipse-j2ee\eclipse\plugins\com.googlecode.goclipse.gocode_0.7.6.v439\tools\windows_amd64),所以gocode一般不用额外的安装和配置,只需要勾选让其在eclipse启动时自动启动即可,配置路径为:Window->Perferences->Go->Gocode,这样eclipse在启动后,你可以在Window资源管理器的进程列表中看到有gocode这个进程。如下图:

goclipse的gocode配置

goclipse的gocode配置

如果你没有gocode,或者gocode没有启动,或者你想用最新的gocode,那么你可以在启动eclipse之前使用如下的命令手动启动gocode:

gocode.exe -s -sock=tcp

这样你就可以在eclipse中使用点号来联想方法和字段,以及用alt+/来自动补全方法和字段。

运行这个程序有两个办法,一个是cd到这个工程的bin目录下,执行下面自动编链接好的exe文件,另一个是在eclipse上右键main函数所在的源文件–>Run As–>Run Go Application,即可。

我平时在使用过程中,发现一个奇怪的问题,就是自己的代码不能自动编译也不能运行了,研究一番才发现是工程的src目录配置不对,理论上这个配置不需要自己手动配的,但是如果你也碰到这种情况,你可以看看这个src目录是否配置正确了,见图你就知道了:

新引入的go项目后检查项目配置

新引入的go项目后检查项目配置

安装GDB

想一想,如果写代码不能调试,那就只能通过fmt.Println(“xxx”)这种方式,那是多么痛苦啊,让自己的开发环境可以动态的调试是很有必要的。下面介绍下,如何安装和配置GDB,让eclipse支持go语言代码的挑食的。

由于go编译器编译出来的可执行程序是按照gdb的标准的,所以目前调试go语言代码必须要有gdb,需要在windows上装一个,linux上装gdb很容易,但是windows上比较麻烦一下,比较常用的做法是装MinGW,然后用里面的gdb。但是我推荐另一个做法:

下载另一个自带了gdb的go语言集成开发软件liteide(绿色软件,解压即可),里面的bin目录下有gdb.exe和gdb64.exe,这两文件前者用于32位操作系统,后者用于64位操作系统。

然后把你操作系统对应的那个gdb配置到goclipse插件里面,操作如下:Window–>Preferences–>打开Go节点–>选择Debug,然后设置GDB,我的操作是64位的,所以选择了gdb64.exe。如图:

配置gdb

配置gdb

这样就ok了,现在可以去试试,在代码里设断点看效果了。(当然现在这个debug功能还没有那么完善,但是大部分的情况都是可以动态查看变量的值的,某未及之处只能通过输出的方式来做了。)

配置GOPATH变量关联go的SDK源码

如果不使用eclipse+goclipse,而使用记事本写代码的话,就必须要配置gopath,尽管使用goclipse后可以不设置GOPATH环境变量,但是那样就不能在eclipse里面直接关联查看go的源码了。如果想让自己的代码中选择一个函数,然后按F3(或者按住ctrl点某个函数)就能看到源码的话(eclipse常用的关联代码的功能),就需要给goclipse配置GOPATH,配置好了以后你可以按住ctrl点某个函数,就可以跳到go的源码中直接查看源码的实现,这个对学习go很有帮助,强烈推荐大家使用。配置效果如图:

在eclipse中设置gopath

在eclipse中设置gopath

配置完了以后,就可以看到Project Explorer里面多出了一个GOROOT节点,这个节点下的都是go的源码,没事多看看很有好处!

用git来下载第三方库

由于现在github非常火,很多开源爱好者都把自己的代码托管到了github、bitbucket、google code上,go语言本身也是开源。想学go语言的同学难免会去这些地方看其他人写的好的代码,不过最好是把这些代码下载自己把玩一番。要下载这些代码就需要使用git客户端,它可以让你用简单的命令就可以把代码下载下来,并打包好。这样你就可以方便的使用了。下面介绍下git客户端的下载和安装:

git的windows客户端下载地址为:http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git

安装过程中有一个步骤需要注意的,这一步可以让你在dos命令行中使用git命令,这样比较方便一点,如图:

git安装,让你的git命令可以在windows控制台里使用

git安装,让你的git命令可以在windows控制台里使用

这时候你就可以在windows命令行中使用git命令了,现在试试看看好用不,我在bitbucket上有个开源的工具包,以这个作为例子试试看~~

先cd到你的工程的src目录下,然后键入这个命令:go get -u bitbucket.org/weager/utils

这个命令中的-u可以在你曾经下载过这个包时,自动更新这个包。此时,应该能在src目录下看到bitbucket.org目录,这目录里面有一个weager目录,这个目录下就是utils包的代码了。

然后运行打包命令:go install bitbucket.org/weager/utils

此时会在pkg目录下产生于src相同的目录,在utils目录下会有一个utils.a文件,这就是打包后生成的文件。见图:

go项目目录结构以及下载的包

go项目目录结构以及下载的包

下载了包以后,就可以在你的工程中使用这个包了,比如:

go语言代码中引入第三方库代码演示

go语言代码中引入第三方库代码演示

 

 

到此为止,go语言的开发环境完成了,可以开始开发了,good luck :)

Reference

eclipse及其他IDE的go语言开发环境搭建


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:u011794223

查看原文:windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2376 次点击  
加入收藏 微博
1 回复  |  直到 2000-01-01 00:00:00
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传