使用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开 ...
随机推荐
- Linux内核源码分析--内核启动之(1)zImage自解压过程(Linux-3.0 ARMv7) 【转】
转自:http://blog.chinaunix.net/uid-25909619-id-4938388.html 研究内核源码和内核运行原理的时候,很总要的一点是要了解内核的初始情况,也就是要了解内 ...
- web.js
var page = require('webpage').create(), system = require('system'), address,output,csvPath,nodePathF ...
- 用原生js实现ajax、jsonp
转载: http://www.cnblogs.com/yangheng/p/6065910.html 一.原生js实现ajax $.ajax({ url: '', type: 'post', data ...
- linux上jdk管理
查看CentOS自带JDK是否已安装. yum list installed |grep java. 若有自带安装的JDK,卸载CentOS系统自带Java环境? yum -y remove java ...
- MySql存储过程中limit传参
最近做项目用到了MySQL数据库,感觉还是蛮好用的,但是有同事前几天写存储过程的时候老调不通,我看了看后发现把limit语句后面带的参数随便改成一个数字就调试通过了,不知道是MySql当初就这么设计的 ...
- SpringMVC高级参数绑定(数组和List)
本节内容: 参数绑定之数组 将表单的数据绑定到List 复制下上篇博客中的工程,作为今天开发的工程. 一.参数绑定之数组 1. 需求 在商品列表页面选中多个商品,然后删除. 2. 需求分析 功能要求商 ...
- Codeforces 12D Ball cdq分治
裸的cdq, 没啥好说的, 要注意mid左边和mid右边的a相同的情况. #include<bits/stdc++.h> #define LL long long #define fi f ...
- 2019 CCPC wannfly winter camp Day 8
E - Souls-like Game 直接线段树合并矩阵会被卡T掉,因为修改的复杂度比询问的复杂度多一个log,所以我们考虑优化修改. 修改的瓶颈在于打lazy的时候, 所以我们预处理出每个修改矩阵 ...
- Codeforces Round #380 Div.2 F - Financiers Game
F - Financiers Game 这种两人博弈一般都可以用两个dp写, 一个dp描述第一个人的最优态, 第二个dp描述第二个人的最优态,难点在于优化空间... 我感觉这个空间开得有点玄学.. d ...
- select 详解
In summary, a socket will be identified in a particular set when select returns if: readfds:If liste ...
