go语言编译器哪个好用(go语言ide开发工具)

Go IDE概述

所谓墨刀不误砍柴工,随着一门开发语言的深入学习,一款好用的IDE是缺少不了的,尤其是大型软件的开发过程中,伴随着大量源码文件的编写、查询、调用链分析、编译构建和运行打包的工作,能把这些功能集成于一身的IDE,必定带来工作效率的提升。今天就跟大家一起探索Go的世界中,哪款IDE最好用。

官方推荐

Go官方推荐了三种IDE:

Visual Studio Code: Go extension provides support for the Go programming language

GoLand: GoLand is distributed either as a standalone IDE or as a plugin for IntelliJ IDEA Ultimate

vim: vim-go plugin provides Go programming language support

网络推荐

除了官方推荐的IDE,通过网络我们还能搜索出很多其他有意思的Go IDE:

Atom

Sublime Text

LiteIDE

Atom介绍

由于网上有些Go大神喜欢用Atom,于是我跟随大神的步伐,开始入坑Atom。

A hackable text editor for the 21st Century

安装

官网:https://atom.io/

GitHub:https://github.com/atom

go语言编译器哪个好用(go语言ide开发工具)

Atom的安装启动界面很有意思,是一艘宇宙火箭正在装载货物,Atom安装完毕后,启动主界面:

现在的版本默认就是暗黑主题风格了,目前编程界大部分软件都是这个味道,搞技术的原来越酷炫。

插件

由于我们希望使用Atom进行Go语言开发,接下来要搞定Go插件的安装,原本Atom安装Go插件很容易,实际上不知道掉进了多少坑中,差点放弃学习Go语言,还好终于折腾出坑了,呵呵。

等待插件安装完后,接着打开HelloWorld.go文件时,Atom在底部自动加载go-plus插件的视图:

配置

本以为安装完go-plus插件就万事大吉了,结果go-plus一顿疯狂报错:

$ go get -u golang.org/x/tools/cmd/goimportspackage golang.org/x/tools/cmd/goimports: unrecognized import path “golang.org/x/tools/cmd/goimports”: https fetch: Get “https://golang.org/x/tools/cmd/goimports?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.$ go get -u golang.org/x/tools/cmd/gorenamepackage golang.org/x/tools/cmd/gorename: unrecognized import path “golang.org/x/tools/cmd/gorename”: https fetch: Get “https://golang.org/x/tools/cmd/gorename?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…….

一时很懵逼,对于Go语言的初学者而言,这番折腾打击实在不少,于是开始一番百度疯狂搜索…..

根据网友提示,我遇到了两个问题:

1)go get命令问题2)github访问问题

这两个问题我会在下一遍分享中单独讲解,这里不展开讨论。

处理完上面两个问题后,按照go-plus的github说明,在cmd命令行中安装go-plus依赖的工具:

go get -u golang.org/x/tools/cmd/goimportsgo get -u golang.org/x/tools/cmd/gorenamego get -u github.com/sqs/goreturnsgo get -u github.com/mdempsky/gocodego get -u github.com/alecthomas/gometalintergo get -u github.com/mgechev/revivego get -u github.com/golangci/golangci-lint/cmd/golangci-lintgo get -u github.com/zmb3/gogetdocgo get -u github.com/zmb3/goaddimportgo get -u github.com/rogpeppe/godefgo get -u golang.org/x/tools/cmd/gurugo get -u github.com/fatih/gomodifytagsgo get -u github.com/tpng/gopkgsgo get -u github.com/ramya-rao-a/go-outline

本以为一堆go get命令顺利执行后就能降伏Atom,结果还是很无语,除了基本Go语法着色和输入提示之外,貌似go-plus还是奄奄一息的样子,而且每次打开go文件,还会卡住…..

运行

看来go-plus已经歇菜了(不兼容新版Atom?),不能够帮助我们编译与运行go源码,那没办法,于是想到手工在命令行执行go run命令,接下来更奇怪的是,当我打开Atom的terminal面板时,竟然提示报错:

看来Atom默认的命令行插件也歇菜了,不甘心,于是又试了一些第三方的插件,例如https://github.com/jeremyramin/terminal-plus,还是有各种问题,实在不尽人意,目前只能在Windows的cmd执行go源码。

不足

Atom改装为go的IDE环境,还是有明显的不足:

2)存在乱码问题,假设同时打开不同编码的文件,例如UTF-8或GBK,需要切换不同的编码,非常麻烦。

3)很多插件安装不了,可能新的Atom版本已经不兼容那些第三方插件,而那些插件也很久没有更新吧(社区人气不足?)。

Visual Studio Code介绍

安装

下载并安装VSC:https://code.visualstudio.com/,本文以最新的版本1.54.3讲解。

插件

对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github.com/microsoft/vscode-go,

这款插件的特性包括:

– 代码着色- 代码自动完成(使用gocode)- 代码片段- 快速提示信息(使用godef)- 跳转到定义(使用godef)- 搜索参考引用(使用go-find-references)- 文件大纲(使用go-outline)- 重命名(使用gorename)- 保存构建(使用go build和go test)- 代码格式化(使用goreturns或goimports或gofmt)- 调试代码(使用delve)

打开vscode 按快捷键 ctrl shift x 搜索以下插件

– go- Code Runner(强烈推荐,必装!)

go插件运行需要依赖其他组件,我们通过cmd执行以下命令进行安装:

go get -u -v github.com/nsf/gocodego get -u -v github.com/rogpeppe/godefgo get -u -v github.com/golang/lint/golintgo get -u -v github.com/lukehoban/go-find-referencesgo get -u -v github.com/lukehoban/go-outlinego get -u -v sourcegraph.com/sqs/goreturnsgo get -u -v golang.org/x/tools/cmd/gorename

注意:go get命令问题同Atom一样。

配置

安装完插件后,我们使用VSC打开go工程,接着查看HelloWorld.go文件:

从界面上可以看出,Go语法已经支持了,而且Terminal控制台也能正常使用,相对Atom而言,已经爽很多了。

注意:新建go文件后,如果没有安装go插件,VSC会自动提示是否安装go插件,十分智能:

运行

如果你只安装vscode-go插件,那在VSC运行go文件,还是会遇到点小麻烦。

预先安装一下调试器delve:

go get github.com/derekparker/delve/cmd/dlv

接下来运行go文件,菜单 Run -> Start Debugging或快捷键F5,这个时候会提示报错:

{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 “version”: “0.2.0”, “configurations”: [ { “name”: “Launch”, “type”: “go”, “request”: “launch”, “mode”: “debug”, “program”: “${workspaceRoot}/src/main/HelloWorld.go”, “env”: {}, “args”: [] } ]}

注意:

1)program参数,我这里填写了go文件的绝对路径,不然运行依然失败。

2)最后保存好launch.json文件。

再一次执行菜单 Run -> Start Debugging或快捷键F5,我们终于可以看到控制台输出了:

改善

vscode-go插件依赖于launch.json,显然一个工程中有多个go文件需要调试,这种方式显得麻烦,因此强烈推荐安装Code Runner插件。安装好Code Runner插件后,我们只需要在go文件上右键 -> Run Code,就能在控制台输出结果:

参考

Visual Studio Code更多学习资料:

https://github.com/golang/vscode-go

https://github.com/derekparker/delve

https://code.visualstudio.com/docs/languages/go

https://blog.csdn.net/culiu9261/article/details/107540375/

GoLand介绍

GoLand 是 JetBrains 公司推出的 Go 语言集成开发环境。GoLand 同样基于 IntelliJ 平台开发,支持 JetBrains 的插件体系。

对于Java程序员而言,JetBrains就是强大IDE的代名词,上手GoLand是很容易的事情(同样熟悉的味道)。

需要注意的是,GoLand是为GoLang而开发的IDE,两者只有一个单词之差,哈!

安装

如果你从官网https://www.jetbrains.com/go/下载,默认下载最新版本,

而我是从旧版本列表下载:https://www.jetbrains.com/go/download/other.html

本文以2019.3.4版本讲解:

配置

安装完GoLand后,并不需要安装其他插件或者乱七八糟的配置,但最好设置一下go代理:https://goproxy.cn

运行

打开HelloWorld工程,直接在go文件或main函数上执行Run:

控制台输出:

总结VSCode对比GoLand

由于种种原因,Atom无法满足go文件的编译和运行,因此我就不再继续探讨Atom了。经过上面的分析和实践,个人比较推荐VSCode和GoLand,两者概括性对比如下:

VSCode需要安装插件,免费版本,这个是前端开发的利器,go语言开发感觉还是差一点;

goland是收费的,收费还是有收费的道理,确实比较好用,使用门槛低,傻瓜化配置;

至于要用那款IDE,完全取决于你个人喜好,或者所在技术团队共同决定即可。

done,收工!

发表评论

登录后才能评论