引言
上篇Golang学习笔记-环境搭建指南已经讲解了如何搭建Golang开发环境,并写了一个Go程序【Hello,world】,但是写代码没有一个好用的IDE,没有语法高亮,自动补全,格式调整,查找函数等功能,想必也会令大家抓狂吧,笔者以前是做Java和.Net开发的,经常用的IDE有Eclipse、IntelliJ IDEA和Visual Studio,其中Eclipse和IntelliJ IDEA能安装很多插件,自然想到是否能在Eclipse和IntelliJ IDEA上安装支持Go语言开发的插件,搜一下插件还真有,废话不多说,直接进入IDE安装过程吧。
IntelliJ IDEA安装Go语言插件
首先你的安装好IntelliJ IDEA,具体安装过程这里不表,不懂请百度,笔者的IDEA版本是2017.1.5
点击【File】-【Settings】
选择【Plugins】-【Install JetBrains plugin…】
输入【go】,选择【Go Languages】,然后点击【Install】,需要注意的是,这里只支持Go 1.9版本,笔者安装的是1.11版本,使用该插件不兼容。
安装完成后重启IDEA
重启之后选择【File】-【New】-【Module】
现在能看到能创建Go语言项目了,但是我们这里还需要配置SDK,选择Go的安装目录
接下来需要设置GOPATH,其实就是Go的工作目录
因为笔者安装的是1.11版本的Golang,所以没有具体测试该插件是否可用,其实JetBrains针对Go语言专门开发了一款IDE,GoLand
安装GoLand
首先进入GoLand下载页下载最新版本的IDE,笔者下载的是2018.2.2版本,下载完成后直接安装,安装好了之后输入license就可以开始使用了
如果你之前使用IntelliJ IDEA开发Java,你会发现GoLand快捷键和IntelliJ IDEA的一样,上手非常容易。
LiteIDE
LiteIDE 是一款简单、开源、跨平台的 Go 语言 IDE。在soureceforge上提供了下载地址
笔者下载的是34.1的Windows版本,下载完成后直接解压即可,解压后双击bin目录下的liteide.exe,打开后先设置编辑环境,因为我使用的64位操作系统,所以环境选择win64,然后选择【工具】-【编辑当前环境】
设置好GOROOT为Golang的安装目录
然后设置GOPATH,选择【工具】-【管理GOPATH】
设置好了之后就可以开始使用了,自动补全,格式调整等功能都有
Eclipse安装goclipse插件
可以参考官方安装指导文档,打开文档就会看到几条限制
- Java虚拟机需要8以上;
- Eclipse需要4.6(Neon)以上,笔者使用的是4.7(Oxygen);
- CDT 需要9.0以上(CDT 可以是提前安装好,也可以在安装goclipse时进行安装)
注意看官方文档最下发,针对中国用户写的,为了防止由于GFW存在导致连接不上、超时或网速慢的问题,推荐使用离线安装。
- 首先下载goclipse离线包,下载完成后解压。
- 然后打开Eclipse,依次点击 【Help】-【Install New Software...】-【Add】,填写插件描述,并点击 【Local】选中上述下载的资源包解压后的【release】目录,点击【OK】
如果已安装了 CDT 则这里只选 GoClipse 一项即可,如未安装,则需要选择前三项:CDT Main Features、CDT Optional Features 和 GoClipse,然后一直 Next 直到安装结束
安装完成后重启Eclipse,打开后就是配置,选择【Window】-【Performances】-【Go】,设置GOROOT,即Go的安装目录,设置完成后一定要先点击【Apply】应用。
然后选择【Go】-【Tools】,设置gocode、guru、godef,直接点击Download,会出现弹出框,直接点击【OK】即可
这样安装发现guru无法下载,因为GFW导致我们无法访问golang.org这个站点,Eclipse console窗口返回的消息如下:
>> Running: "C:\Program Files\Go\bin\go.exe" get -u github.com/nsf/gocode
>> Running: "C:\Program Files\Go\bin\go.exe" get -u golang.org/x/tools/cmd/guru
>> Running: "C:\Program Files\Go\bin\go.exe" get -u github.com/rogpeppe/godef
package golang.org/x/tools/cmd/guru: unrecognized import path "golang.org/x/tools/cmd/guru" (https fetch: Get https://golang.org/x/tools/cmd/guru?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
^^^ Terminated, exit code: 1 ^^^
^^^ Terminated, exit code: 0 ^^^
^^^ Terminated, exit code: 0 ^^^
我们可以下载guru源码,然后使用 go build 指令编译得到对应的 .exe 文件。
首先把整个工程下载下来,然后在Go的安装目录的【src】目录下新建多级目录【 golang.org\x\】,接着将下载下来的zip包解压在【src\golang.org\x\】目录下,并将文件夹名称由【tools-master】修改为【tools】
然后在Go安装目录的 bin 目录下打开cmd命令行,执行如下命令
go build golang.org/x/tools/cmd/guru
执行成功后会在【bin】目录下生成【guru.exe】文件,我配置的guru工具的目录是【D:\Go\bin\guru.exe】,所以我将这个文件剪切到【D:\Go\bin\】目录下
至此,所有的配置就都完成了,下面就可以测试了,新建一个Go工程,还是Hello world代码,可以看到自动补全这些功能都有,右键-【Run AS】-【Go Application】试试,可以看到正确输出Hello, World!
这里需要注意的是src下面一定要有一个main包
总结
- IntelliJ IDEA暂时不支持Go 1.9以上版本,所以被排除在外,估计以后也不会支持了,因为JetBrains推出了GoLand;
- GoLand对于以前使用IntelliJ IDEA开发的Java的程序猿来说使用起来不会陌生,各种快捷键一样,并且支持语法高亮、自动补全、断点等功能,使用起来非常方便;
- LiteIDE非常轻便,并且也支持语法高亮、自动补全、格式自动调整等功能,但是笔者感觉断点不方便,不支持单击或双击打断点,需要光标移动到某一行,然后点击断点按钮,其他的暂时没有发现,等使用一段时间了再补充;
- Eclipse安装插件比较麻烦,但是使用起来很方便,基本和开发Java差不多;
但是笔者感觉还是GoLand最好用。