使用sublime打造go语言的开发环境

简介: 工欲善其事,必先利其器。作为一个码农,编辑器是我们每天用的最多的工具。那么怎么构建一个go语言环境的编辑器呢?因为习惯轻量的sublime,不太喜欢繁重的IDE,就将自己的sublime编辑器打造为适合go语言开发的IDE。

工欲善其事,必先利其器。作为一个码农,编辑器是我们每天用的最多的工具。那么怎么构建一个go语言环境的编辑器呢?
因为习惯轻量的sublime,不太喜欢繁重的IDE,就将自己的sublime编辑器打造为适合go语言开发的IDE。sublime是一个高度定制化的编辑器,有强大的插件管理平台,并内置了宏操作和python语言进行插件开发,通过这些,可以打造出复合我们习惯的IDE工具。
在这篇文章中,将基于现有插件平台的提供的插件,进行配置。

sublime安装

根据自己的系统选择安装sublime

下载地址

安装Package Control

按下快捷键ctrl+`

在底部的控制台中输入以下代码,并回车

import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())

安装成功安装

出现package control菜单即可确认安装成功

  • 安装插件

sublime的插件有两种安装方式,一种手动安装,一种基于packageControl的pannel在线安装
在mac系统下,按下shift+cmd+p即可调出安装面板。

定制golang开发环境

作为一个go语言下的开发环境,我们希望sublime拥有那些功能呢?

  1. 代码跳转
  2. 代码自动补全
  3. 保存后format代码格式
  4. 对代码做linter
  5. debug等

go开发环境打造

实现代码跳转

在sublime中安装godef插件

安装Godef插件
按下shift+cmd+p

修改配置
安装完成后,修改Godef插件的自定义配置文件

{
    "goroot": "", // $GOROOT路径
    "gopath": "" // $GOPATH路径
}

设置自定义快捷键

[
    { "keys": ["ctrl+j"], "command": "godef" },
]

默认的快捷键是gd,这里我自己设置的快捷键ctrl+j注意键冲突
以上完成了代码跳转的实现

goSublime打造go语言IDE

sublime有一个gosublime的插件为了打造go语言的集成开发环境,它集成了go tool的一些命令如,golint, gocode goimport等工具集。

安装
安装说明,由于gosublime现在还不支持集成sublime集成式安装,所以可以通过将package包下载到sublime的包目录下手动来安装
具体安装参考:https://margo.sh/b/hello-margo/

设置配置

 {
  // Whether or not gscomplete(gocode) is enabled
  "gscomplete_enabled": true,

  // Whether or not gsfmt is enabled
  "fmt_enabled": true,

  // you may set specific environment variables here
  // e.g "env": { "PATH": "$HOME/go/bin:$PATH" }
  // in values, $PATH and ${PATH} are replaced with
  // the corresponding environment(PATH) variable, if it exists.
  "comp_lint_enabled": true,
}

开启自动补全配置
打开用户自定义配置文件,开启以下两项配置,即可完成自动提示,代码补全功能。

{
   "auto_complete": true,
   "auto_match_enabled": true
}

gosulime的用法
输入两次cmd+.,调出gosublime的控制面板



进入可以查看源码

debug
在sublime下做图形化debug,目前还未搜到相关的插件支持。
可以通过命令行的delves进行调试。

命令行工具
看到一些文章介绍在sublimne中实现go build,感觉用起来不是很舒服,感觉还是sublime+iterm2组合来使用命令行工具。

总结
通过gosublime和Godef插件的安装和设置,完成了go语言IDE的,可以实现自动补全,保存自动格式化,代码的校验,跳转以及源代码的查看等功能,以上功能完成一个工程化的项目完全可以够了。

相关文章
|
8天前
|
存储 监控 算法
员工上网行为监控中的Go语言算法:布隆过滤器的应用
在信息化高速发展的时代,企业上网行为监管至关重要。布隆过滤器作为一种高效、节省空间的概率性数据结构,适用于大规模URL查询与匹配,是实现精准上网行为管理的理想选择。本文探讨了布隆过滤器的原理及其优缺点,并展示了如何使用Go语言实现该算法,以提升企业网络管理效率和安全性。尽管存在误报等局限性,但合理配置下,布隆过滤器为企业提供了经济有效的解决方案。
44 8
员工上网行为监控中的Go语言算法:布隆过滤器的应用
|
28天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
38 7
|
28天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
28天前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
100 71
|
27天前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
104 67
|
3天前
|
算法 安全 Go
Go 语言中实现 RSA 加解密、签名验证算法
随着互联网的发展,安全需求日益增长。非对称加密算法RSA成为密码学中的重要代表。本文介绍如何使用Go语言和[forgoer/openssl](https://github.com/forgoer/openssl)库简化RSA加解密操作,包括秘钥生成、加解密及签名验证。该库还支持AES、DES等常用算法,安装简便,代码示例清晰易懂。
28 16
|
28天前
|
存储 Go
go语言中映射
go语言中映射
36 11
|
29天前
|
Go 索引
go语言修改元素
go语言修改元素
31 6
|
6天前
|
监控 算法 安全
解锁企业计算机监控的关键:基于 Go 语言的精准洞察算法
企业计算机监控在数字化浪潮下至关重要,旨在保障信息资产安全与高效运营。利用Go语言的并发编程和系统交互能力,通过进程监控、网络行为分析及应用程序使用记录等手段,实时掌握计算机运行状态。具体实现包括获取进程信息、解析网络数据包、记录应用使用时长等,确保企业信息安全合规,提升工作效率。本文转载自:[VIPShare](https://www.vipshare.com)。
19 0
|
20天前
|
Go 数据安全/隐私保护 UED
优化Go语言中的网络连接:设置代理超时参数
优化Go语言中的网络连接:设置代理超时参数