Golang学习笔记-IDE安装指南

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

引言


  上篇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

IDEA Version

点击【File】-【Settings】

menu

选择【Plugins】-【Install JetBrains plugin…】

install plugins

输入【go】,选择【Go Languages】,然后点击【Install】,需要注意的是,这里只支持Go 1.9版本,笔者安装的是1.11版本,使用该插件不兼容。

install

安装完成后重启IDEA

restart idea

重启之后选择【File】-【New】-【Module】

new module

现在能看到能创建Go语言项目了,但是我们这里还需要配置SDK,选择Go的安装目录

Create Go project
new module

接下来需要设置GOPATH,其实就是Go的工作目录

Gopath.png

因为笔者安装的是1.11版本的Golang,所以没有具体测试该插件是否可用,其实JetBrains针对Go语言专门开发了一款IDE,GoLand

安装GoLand


首先进入GoLand下载页下载最新版本的IDE,笔者下载的是2018.2.2版本,下载完成后直接安装,安装好了之后输入license就可以开始使用了

GoLand

如果你之前使用IntelliJ IDEA开发Java,你会发现GoLand快捷键和IntelliJ IDEA的一样,上手非常容易。

LiteIDE


LiteIDE 是一款简单、开源、跨平台的 Go 语言 IDE。在soureceforge上提供了下载地址

download liteide

笔者下载的是34.1的Windows版本,下载完成后直接解压即可,解压后双击bin目录下的liteide.exe,打开后先设置编辑环境,因为我使用的64位操作系统,所以环境选择win64,然后选择【工具】-【编辑当前环境】

tools-edit

设置好GOROOT为Golang的安装目录

Goroot

然后设置GOPATH,选择【工具】-【管理GOPATH】

tools-manage
Gopath

设置好了之后就可以开始使用了,自动补全,格式调整等功能都有

LiteIDE

Eclipse安装goclipse插件


可以参考官方安装指导文档,打开文档就会看到几条限制

  1. Java虚拟机需要8以上;
  2. Eclipse需要4.6(Neon)以上,笔者使用的是4.7(Oxygen);
  3. CDT 需要9.0以上(CDT 可以是提前安装好,也可以在安装goclipse时进行安装)

注意看官方文档最下发,针对中国用户写的,为了防止由于GFW存在导致连接不上、超时或网速慢的问题,推荐使用离线安装。

  1. 首先下载goclipse离线包,下载完成后解压。
  2. 然后打开Eclipse,依次点击 【Help】-【Install New Software...】-【Add】,填写插件描述,并点击 【Local】选中上述下载的资源包解压后的【release】目录,点击【OK】
add repository

如果已安装了 CDT 则这里只选 GoClipse 一项即可,如未安装,则需要选择前三项:CDT Main Features、CDT Optional Features 和 GoClipse,然后一直 Next 直到安装结束

install goclipse
Install Details
license

安装完成后重启Eclipse,打开后就是配置,选择【Window】-【Performances】-【Go】,设置GOROOT,即Go的安装目录,设置完成后一定要先点击【Apply】应用。

Set GOROOT

然后选择【Go】-【Tools】,设置gocode、guru、godef,直接点击Download,会出现弹出框,直接点击【OK】即可

set tools
download gocode

这样安装发现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】

tools directory

然后在Go安装目录的 bin 目录下打开cmd命令行,执行如下命令

go build golang.org/x/tools/cmd/guru

执行成功后会在【bin】目录下生成【guru.exe】文件,我配置的guru工具的目录是【D:\Go\bin\guru.exe】,所以我将这个文件剪切到【D:\Go\bin\】目录下

guru

至此,所有的配置就都完成了,下面就可以测试了,新建一个Go工程,还是Hello world代码,可以看到自动补全这些功能都有,右键-【Run AS】-【Go Application】试试,可以看到正确输出Hello, World!

Hello world

这里需要注意的是src下面一定要有一个main包

总结


  • IntelliJ IDEA暂时不支持Go 1.9以上版本,所以被排除在外,估计以后也不会支持了,因为JetBrains推出了GoLand;
  • GoLand对于以前使用IntelliJ IDEA开发的Java的程序猿来说使用起来不会陌生,各种快捷键一样,并且支持语法高亮、自动补全、断点等功能,使用起来非常方便;
  • LiteIDE非常轻便,并且也支持语法高亮、自动补全、格式自动调整等功能,但是笔者感觉断点不方便,不支持单击或双击打断点,需要光标移动到某一行,然后点击断点按钮,其他的暂时没有发现,等使用一段时间了再补充;
  • Eclipse安装插件比较麻烦,但是使用起来很方便,基本和开发Java差不多;

但是笔者感觉还是GoLand最好用。


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

本文来自:简书

感谢作者:Statmoon

查看原文:Golang学习笔记-IDE安装指南

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

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