使用Sublime text 3打造一个小巧但强大的Go语言开发IDE
使用Sublime text 3打造一个小巧但强大的Go语言开发IDE
最近在学习GO语言,网上找了一下GO语言的IDE,发现GO语言目前没有一个专业的IDE,都是一些各种插件来实现的,由于go的特性:
- 开发过程中需要设置
GOPATH
- 用到第三方的包又要使用
go get
- 运行的时候要用
go run
- 打包的要使用
go install
- 交叉编译的时候还要配置
GOARCH
GOOS
go build
试了很多朋友分享的工具都很不好用,试用了一下Jetbrains的Goland Early build version,发现很多Bug,没有交叉编译,无法go get
,并不能满足开发、打包、分发的需求,不过Goland的代码提示还是特别棒的,希望以后正式版能够做的更好。
打造自己的Go语言开发IDE
好了废话不多说,来开始动手打造一个强大的Go语言开发IDE,强大到什么程度,自己体会吧:
- 支持自动配置
GOPATH
- 支持简单的
go run
- 支持
go get
- 支持
go install
- 当然也支持 “交叉编译”
- 而且还支持
go test
go 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)
官方安装地址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" }
好了,现在可以试试了
- 在workspace下创建一个
src
目录:mkdir -p $HOME/golang/workspace/src
- 创建一个go文件
hello.go
- 写入如下内容
package main import ( "github.com/iTaa/testGoGet" ) func main() { testGoGet.TestGoGet() }
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, 都可以。
文章写了一上午,内容较多,可能有些地方没有描述清楚,如有问题请留言。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于python的Scrapy爬虫框架实战
基于python的Scrapy爬虫框架实战 2018年7月19日笔记 1.伯乐在线 网站页面如下图所示: 网站页面.png 1.1 新建爬虫工程 命令:scrapy startproject BoleArticle 新建爬虫工程命令 命令: scrapy genspider article "blog.jobbole.com" 注意:运行此命令时必须在爬虫工程文件夹内,如下图路径所示。 新建爬虫文件命令 1.2 编辑items.py文件 6个字段:title、publishTime、category、digest、detailUrl、img_url,数据类型为scrapy.Field对象 import scrapy from scrapy import Field class BolearticleItem(scrapy.Item): title = Field() publishTime = Field() category = Field() digest = Field() detailUrl = Field() img_url =Field() 1.3 编辑article.py...
- 下一篇
Python自省函数getattr的用法
首先把官方文档搬出来: doc.png 英文棒的小伙伴们最好是去看下官方文档,毕竟原汁原味的英文表述才最准确。Python3.6 getattr 官方文档 getattr()函数是Python自省的核心函数,可以把一个要访问的变量或方法,通过字符串的形式传递过去并拿到返回的值。 获取对象引用getattr getattr用于返回一个对象属性,或者方法 示例代码: class Demo: def __init__(self): self.name = 'allen' self.age = '18' def method_one(self): print("这是 method_one 方法") return "one" def method_two(self): print("这是 method_two 方法") d = Demo() # 如果d对象中有属性name则打印self.name的值,否则打印'not find' print(getattr(d, 'name', 'not found')) # 如果d对象中有属性name则打印self.age的值,否则打印'not find' p...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7