2019年,GO的发展已有十年之久。在这期间出现了很多能被GO语言使用的IDE,把它们都详细介绍一遍是不现实的。接下来,重点介绍我比较了解几款IDE。

Goland

Goland,商业公司jetbrains 近两年推出的 Go 集成开发环境,它真的是无比强大。

我相信很多程序都用过他们家的IDE,比如Java的 Intellj IDEA、PHP的PHPStorm、Python的PyCharm、C++的CLion、前端的WebStorm等。使用JetBrains的IDE,我们可以享受到它优秀的开箱即用的体验和 jetbrains 积累十几年的插件体系。

前些年,也就是Goland发布之前,如果我们希望用jetbrain的IDE进行GO的开发,需要通过它提供的插件支持。Goland发布后,这些插件似乎已经下架了。

不得不承认,Goland的功能层面做的确实非常完美。不过有几点我想吐槽一下,首先必须要提的是,Jetbrians的IDE基本都存在着卡顿的毛病,资源消耗比较严重。虽然一些大牛提供了优化方案,但体验下来,和其他IDE依然没有相比。

Goland的开箱即用,使它的问题很少,确实没有多少可介绍的,装起来基本就可以开干!

VS Code

由微软开发的一款功能强大的现代化轻量级代码编辑器IDE,免费开源。通过它强大的插件扩展能力,VS Code几乎支持主流语言的项目开发。毫无例外,GO也是其中之一。

为VS Code加入GO的开发能力,只需安装一款插件即可,插件地址。安装时,可能遇到一些问题,常见的就是,在安装一些依赖包时会出现网络下载失败。关于原因就不说了,大家都明白。不过,问题还是要解决的。

举个具体的例子吧!在GO插件时,我们会通过go get golang.org/x/tools/xxx安装某个包,这时候大概率出现网络连接错误。我们可以通从github找到对应的仓库,golang/tools,然后使用git命令下载后,放在GOPATH指定的目录下,然后再安装即可。

最后,插个题外话,VS Code使用的是Electron开发的,Electron是用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库,NodeJS与Chromium的结合。因此,利用浏览器的特性,利用VS Code,我们能实现很多奇葩的插件,例如下面这些插件。

GitHub Daily:装上这几个 VSCode 插件后,上班划水摸鱼不是梦​zhuanlan.zhihu.com

Vim GO

细究起来,vim应该是一款文本编辑器,但它却拥有了很多不该属于文本编辑器的能力,比如单词补全、ctags标签跳转、窗口分隔、崩溃文件恢复、文件diff、400多种文本高亮等。最重要的一点是,vim有一套自己的脚本语言,这为它通过插件扩展自己的能力提供了可能。

将vim扩展成一款适合自己使用的GO IDE,不仅要编写许多复杂的配置与脚本,还需要各种插件的相互配合,才能实现我们的目标。比如前面介绍的那些IDE的常见功能,在vim中都要逐一配置实现。

GO的vim环境搭建,需要用到一款非常重要的插件,vim-go。它由国外开发者提供,youtube上还有他的分享视频,有兴趣可以去看看,地址。vim-go提供了诸如代码的编译、执行、测试、代码重构、错误提示等各种功能,具体了解可查看 vim-go教程。

说明一点,虽然vim支持插件扩展,但它要集成出VS Code的体验还是非常困难的。我是不太清楚是否有这种可能,不过即使能实现,也是困难重重。当前,我正尝试用vim配置GO开发环境,效果图如下,一些功能还不完善。

当前我用的主要就是这三款IDE,Goland主要在工作中使用,而VSC和vim在平时使用。当然,还有很多其他IDE,下面也简单介绍下,但因为没怎么使用过,所以很难有经验之谈了。

Sublime Text

最初用VS Code,感觉它的使用习惯和Sublime相似。但说到Sublime,都说它是强大文本编辑器,而它的编码能力也是插件扩展来的。GoSublime就是为Sublime扩展GO功能的插件。

LiteIDE

一款轻量级的IDE,听说是由中国人开发的。可能在Goland出现之前比较流行。也或许是自己孤陋寡闻,不知道现在还有多少人在用。

Eclipse

开源的IDE,盛行了多年,有着丰富的资源和粉丝人群,应该是Java开发最喜欢的IDE吧。GoEclise是Eclipse针对Goland的插件。从github了解到,这个项目好像很久没有更新了。

Atom

与VS Code一样,都是基于Node-Webkit,即Electron,开发的。是由github开源的文本编辑器。go-plus是Atom针对Golang开发的插件

Emacs

和 Vim 一样,一款非常强大的文本编辑器,听说学习曲线很陡峭。Emacs 支持 Go 和 Vim 类似,涉及大量的配置工作。go-mode 是 Go 官方为 Emacs 提供的插件。

golang ide 简介相关推荐

  1. Golang IDE总汇

    Go语言目前已经在开发者中越发的流行,自然很多人都在寻找合适的IDE来实现代码语法高亮.自动补全以及其他编辑特性. 下面就几种常用的IDE进行对比介绍: 0. Goland IDE (最佳GOLANG ...

  2. Golang(1)Golang语言简介

    Golang(1)Golang语言简介 Golang(2)win10下安装Go语言 Golang(3)CentOS7系统安装Go语言 一.Golang的学习方向 (1)区块链研发工程师 (2)Go服务 ...

  3. golang ide 环境搭建_Golang 入门 : 打造开发环境

    工欲善其事,必先利其器!在学习和使用 Golang 时如果有一款得心应手的 IDE,相信一定可以事半功倍.虽然很多 IDE 都提供了对 Golang 的支持,但真正好用的没几个.VSCode 算是不错 ...

  4. Golang(1)-简介及特性

    文章目录 一.Golang简介 1.1.什么是Golang 1.2.使用Golang完成的著名项目 1.3.Golang的特性 二.Golang的特性概述 2.1.自动垃圾回收 2.2.丰富的内置类型 ...

  5. 几款Golang IDE对比

    Go语言目前已经在开发者中越发的流行,自然很多人都在寻找合适的IDE来实现代码语法高亮.自动补全以及其他编辑特性. 下面就几种常用的IDE进行对比介绍: 1. Sublime text 这个文本编辑器 ...

  6. Golang:简介、基本语法、函数、defer、Test功能

    春招找实习告一段落了,好长时间没更CSDN的博客,期间写的一些笔记用 typora + git 直接推到github里面了,就没在CSDN里再发了,我的github:https://github.co ...

  7. Go语言学习笔记—golang基础简介

    视频来源:B站<golang入门到项目实战 [2022最新Go语言教程,没有废话,纯干货!]> 文章为自己整理的学习笔记,侵权即删,谢谢支持! 文章目录 一.Go语言简述 二.Go语言特点 ...

  8. golang 正则表达式 简介

    目录 语法简介 单一 复合 重复 分组 位置标记 转义序列 可以将"命名字符类"作为"字符类"的元素 说明 "Perl 类"取值 " ...

  9. golang defer简介 goland 警告提示 possible resource leak,difer is called in a for loop 原因

    目录 警告原因 解决方法 defer理解 defer调用是一个栈结构 defer的作用域是一个函数,不是一个语句块 链式调用 针对非指针类型调用函数 警告原因 在for中使用defer关闭资源,其实资 ...

最新文章

  1. LSTM之父再称ResNet、GAN等五大网络都有他的功劳,网友却说:自负大于引用数
  2. 安装pyecharts
  3. cuda-Block和Grid设定
  4. 福州大学软工 1715 | K 班 - 启航
  5. Android 为你的应用程序添加快捷方式【优先级高的快捷方式】
  6. ZDOO全协同管理系统 v6.9
  7. LeetCode 459. Repeated Substring Pattern
  8. 记录pageHelper分页orderby的坑
  9. 年底了,各大电商大促会员活动反馈万能模板,必备的PSD分层格式
  10. 傲游浏览器linux傲游源,Ubuntu下安装遨游浏览器
  11. 基于JAVA+SpringMVC+Mybatis+MYSQL的健身管理系统
  12. 灵活应对算法大赛新挑战,极清晰比赛思路你值得拥有
  13. SAP MM ‘Pricing Date Control‘字段的理解
  14. wordpress 固定链接变成html,wordpress固定链接只有默认能用,其他链接设置网页打不开怎么办...
  15. 【设计模式笔记】代理模式
  16. springboot Vue java学生宿舍报修管理系统源码介绍
  17. Insyde uefi 隐藏设置_Android/iOS QQ 8.1.5测试版同时发布:私密会话可以隐藏
  18. 触摸屏分类和触摸屏校准原理
  19. c语言oj中的wa是什么意思,杭电oj1002题一直是WA ,然而格式什么的都对啊?求教OAO...
  20. 人际交往心理学 读后感

热门文章

  1. 药师帮完成1.33亿美元D轮融资,投资方为老虎环球基金、H Capital和DCM
  2. JEESZ分布式框架之技术介绍文档
  3. centos7搭建需密码登入的简易ftp服务器
  4. Oracle的逻辑结构(表空间、段、区间、块)——Oracle数据块(一)
  5. 文字如何实现完美UI?文本排版设计告诉你
  6. 我的Android进阶之旅------gt;怎样在多个LinearLayout中加入分隔线
  7. (实用)Ubuntu Linux静态IP网络配置
  8. iptables使用ipt_connlimit限制连接数
  9. 42.虚拟内存如何设置:
  10. [Windows编程] 获取系统CPU 个数