使用Sublime text 3打造一个小巧但强大的Go语言开发IDE
使用Sublime text 3打造一个小巧但强大的Go语言开发IDE
最近在学习GO语言,网上找了一下GO语言的IDE,发现GO语言目前没有一个专业的IDE,都是一些各种插件来实现的,由于go的特性:
- 开发过程中需要设置
GOPATH - 用到第三方的包又要使用
go get - 运行的时候要用
go run - 打包的要使用
go install - 交叉编译的时候还要配置
GOARCHGOOSgo build
试了很多朋友分享的工具都很不好用,试用了一下Jetbrains的Goland Early build version,发现很多Bug,没有交叉编译,无法go get,并不能满足开发、打包、分发的需求,不过Goland的代码提示还是特别棒的,希望以后正式版能够做的更好。
打造自己的Go语言开发IDE
好了废话不多说,来开始动手打造一个强大的Go语言开发IDE,强大到什么程度,自己体会吧:
- 支持自动配置
GOPATH - 支持简单的
go run - 支持
go get - 支持
go install - 当然也支持 “交叉编译”
- 而且还支持
go testgo clean
下载并安装 sublime text 3
sublime text 是一个小巧的文本编辑工具,支持windows、linux、macOS,官方下载地址点击sublime text.
下载好了就自行安装,这里大家应该不会有什么问题。
安装Package control
Package control是一个sublime text 的插件管理工具,由于sublime text 自带python环境,Package control可以直接使用如下python脚本自动安装(建议自行去官网找脚本,以免脚本更新,无法安装):
为了方便查看,我在脚本里的分号
;后面添加了换行符,但不影响使用。
import urllib.request,os,hashlib;
h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76';
pf = 'Package Control.sublime-package';
ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) );
by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read();
dh = hashlib.sha256(by).hexdigest();
print('Error validating download (got %s instead of %s), please try manual install' % (dh, h))
if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
官方安装地址Package control installation,进去之后就会看到以上脚本。
当然Package control也有手动安装方式:
- 点击 Preferences > Browse Packages… 菜单
- 打开 Installed Packages/ 文件夹
- 下载 Package Control.sublime-package
并将下载好的文件复制到 Installed Packages/ 目录 - 重启 Sublime Text
自动安装的也要重启一下才能生效。
安装Go语言官方提供的Golang build 包
- 点击 Preferences > Package control 菜单(MAC快捷键
shift + command + p) - 在弹出的输入框输入
install选择Package control:install package - 然后输入
Golang build选择Golang build 安装
安装好之后点击 Preferences Preferences > Package Setting > Golang Config > Setting - User 设置一些参数
{
"PATH": "/usr/local/go/bin",
// 这里改成你自己的GOPATH
"GOPATH": "$HOME/golang/workspace"
}
- 1
- 2
- 3
- 4
- 5
好了,现在可以试试了
- 在workspace下创建一个src目录: mkdir -p $HOME/golang/workspace/src
- 创建一个go文件hello.go
- 写入如下内容
package main
import (
"github.com/iTaa/testGoGet"
)
func main() {
testGoGet.TestGoGet()
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
go get 测试
- -点击 Preferences > Package control 菜单(MAC快捷键
shift + command + p) - 在弹出框里输入
go get, 点击Go: get
- 输出go get test success! 证明你可以使用go get 了

get run 、go install 、go build 、go clean 等测试
- 点击 Toos > Build With (Mac 快捷键 shift + command + b)

- 看到下面的命令,点击即可 
安装GoSublime
GoSublime 是一个交互式的go build 工具,使用起来也是很方便,主要配合Golang build使用。
- 点击 Preferences > Package control 菜单(MAC快捷键
shift + command + p) - 在弹出的输入框输入
install选择Package control:install package - 然后输入
GoSublime选择 GoSublime 安装
使用GoSublime
- 配置GoSublime 自动的设置GOPATH

- 设置
"use_gs_gopath": true,默认是false

- 搞定了
使用方式也是:
- 点击 Toos > Build With (Mac 快捷键 shift + command + b)
- 选择GoSublime 会出现一个交互式输入

在这里你可以输入你想使用的命令,go get , go install 、go build 、go clean, 都可以。
使用Sublime text 3打造一个小巧但强大的Go语言开发IDE的更多相关文章
- sublime text 3 打造舒适黑色主题
效果: 这里我使用了两个主题插件组合成的 Spacegray Afterglow Ctrl+Shift+P -> Package Control:Install Packages 分别输入Spa ...
- 翻译:打造基于Sublime Text 3的全能python开发环境
原文地址:https://realpython.com/blog/python/setting-up-sublime-text-3-for-full-stack-python-development/ ...
- Sublime Text 2—解决中文乱码
Sublime Text 2是一个非常棒的代码及文本编辑器,绿色小巧.速度飞快,跨平台支持Win/Mac/Linux,支持32与64位,支持各种流行编程语言的语法高亮.代码补全等,有着许多其他编辑器没 ...
- Sublime Text 3初阶
本文主要介绍一些Sublime Text3的初级阶段,主要从最初的安装,到插件,还有主题这三个方面介绍,还会提到一些关于使用ST3的一些小小经验... 一:安装 首先进入sublime的官方地址去下载 ...
- Sublime Text 3最好的功能、插件和设置(转)
Sublime Text 3 是一个了不起的软件.首先,它是一个干净,实用,可以快速的编写代码编辑器.它不仅具有令人难以置信的内置功能(多行编辑和VIM模式),而且还支持插件,代码片段和其他许多东西. ...
- 将Sublime Text 2搭建成一个好用的IDE
将Sublime Text 2搭建成一个好用的IDE 说起编辑器,可能大部分人要推荐的是Vim和Emacs,本人用过Vim,功能确实强大,但是不是很习惯,之前一直有朋友推荐SUblime Text 2 ...
- 将Sublime Text 2搭建成一个好用的IDE(转)
将Sublime Text 2搭建成一个好用的IDE 说起编辑器,可能大部分人要推荐的是Vim和Emacs,本人用过Vim,功能确实强大,但是不是很习惯,之前一直有朋友推荐SUblime Text 2 ...
- 前端神器-神级代码编辑软件Sublime Text下载、使用教程、插件推荐说明、全套快捷键
Sublime Text 是一个代码编辑器,也是HTML和散文先进的文本编辑器.Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能 ...
- Sublime Text加上Eclipse
打造属于自己的前端开发神器 -- 给Sublime Text加上Eclipse的光环 将Sublime Text打造成如Eclipse一般的前端开发IDE 1. 快捷键移植篇 从Java开 ...
随机推荐
- 使用 scm-manager 搭建 git/svn 代码管理仓库(二)
主要介绍scm的配置. 1.配置为在Windows服务中启动scm-manager的启动方式有多种,可以在DOS(即命令行CMD模式)中启动,也可以在Windows服务中启动. 下面我们采用Windo ...
- Comparable和Comparator的区别&Collections.sort的两种用法
在Java集合的学习中,我们明白了: 看到tree,可以按顺序进行排列,就要想到两个接口.Comparable(集合中元素实现这个接口,元素自身具备可比性),Comparator(比较器,传入容器构造 ...
- oracle 建用户
create user username identified by password; grant dba to username; 注意当对用户赋予resource角色时将同时赋予unlimite ...
- L0,L1,L2范数,正则化,过拟合
L0范数是指向量中非0元素的个数 L1范数是向量中各个元素的绝对值求和 L2范数是指向量的各个元素平方求和然后取和的平方根 机器学习的目的是使学习到的模型不仅对已知的数据而且对未知的数据有很好的预测能 ...
- VCForPython27.msi安装后, 还显示error: Unable to find vcvarsall.bat
C:\Users\zpc\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC 增加环境变量: SET VCPYTH ...
- python enumerate用法总结【转】
enumerate()说明 enumerate()是python的内置函数 enumerate在字典上是枚举.列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enum ...
- JavaScript中对象与函数的某些事[JavaScript语言精粹-N1]
今天在读<JavaScript语言精粹>的时候,关于函数的一个部分,始终觉得有点难以理解,代码如下: 1: var obj = (function(){ 2: var value = 0; ...
- hdu 4348 To the moon (主席树)
版权声明:本文为博主原创文章,未经博主允许不得转载. hdu 4348 题意: 一个长度为n的数组,4种操作 : (1)C l r d:区间[l,r]中的数都加1,同时当前的时间戳加1 . (2)Q ...
- keyspace notification(键空间通知)-待验证
一.需求分析: 设置了生存时间的Key,在过期时能不能有所提示? 如果能对过期Key有个监听,如何对过期Key进行一个回调处理? 如何使用 Redis 来实现定时任务? 二.序言: 本文所说的定时任务 ...
- MCS-51 单片机的中断系统
MCS-51 单片机的中断系统 MCS-51中断系统:5个中断源(两个外部中断, 两个定时器, 一个串口),2个优先级 中断相关概念 中断:当CPU正在处理某件事情时,单片机外部或内部发生的某一紧急事 ...
