再论 golang 环境配置建议

简介:

摘要

在之前的实践中满足开发环境所有特征的情况下进行了大量方式上的升级。经过8次的版本升级,调整,爬坑,终于觉得这次版本升级足够有意义替代之前版本的建议。

我总觉得花一少部分的时间调整开发工具让自己的工作效率更高是非常值得的。

再论 golang 环境配置建议

本次祭出大招Docker来作为项目开发的主要脚手架。

并且我现在认为一个好的开发工具应该满足:

  • 项目管理

  • 快速文件跳转

  • 自动语法检查

  • 自动补全

  • 查找定义

  • 启动速度快

  • 如果自己有需求的话插件可以随便写

  • 灵活的运行配置

但是根据10个月的开发实践,除了上面这些之外还需要兼顾:

  • 国内的网络环境

  • 升级方便

  • 随时随地快速部署自己的开发环境

  • 能在线上服务器进行开发,随时随地升级版本修改代码。

Docker Registry

docker pull index.tenxcloud.com/philo/golangdev:1.2.1

docker pull lijianying10/golangdev:1.2.1

如果你还不会docker请参考这里

Dockerfile

点击这里查看Dockerfile

升级日志

1.2.1

  • 修复vim下escape有时间延迟(解决方法见.vimrc最后一行)

  • Ctrl+s保存的时候添加代码格式检查(其实就是追加命令 :GoMetaLinter)

  • 更新golang到1.5.2 based on Debian 8

特征解释

兼顾国内网络情况

  • 使用Dockerfile从国外VPS构建,然后推送到时速云备用。这种构建方式适合调试

  • 推荐!如果您在国外没有VPS推荐使用时速云TCE来构建,从香港节点自动化构建随时能看到日志。参考文档

升级方便

  • 直接修改Dockerfile完成升级,调整From就可以调整底层系统使用。

  • 可根据您的需要随时定制自己的版本。非常方便

随时能够快速部署

  • Docker启动速度非常快

  • 如果您没有Image在内网该Image也只有1GB大小可非常快速的传输到您的电脑。

  • 国内准备好了加速源,详细查看Docker Registry部分。时速云确实挺快的。

  • 如果您的工作站安装的是CoreOS or Rancher这种的Docker Linux 不但安装快,部署开发环境也是一瞬间完成。

能够在线上服务器进行线上代码调整

  • 只要部署到线上服务器直接就可以使用。

  • 老板再也不用担心我的集成新功能速度太慢了。

使用方法

文件跳转(Command-T)

快捷键: <leader>t

注意:<leader>在我的vim配置里面是反斜杠,插件快捷键参考官方文档

再论 golang 环境配置建议

项目管理(NERD_tree)

快捷键: M-u

注意: 插件快捷键参考官方文档

再论 golang 环境配置建议

自动语法检查

触发: 每次保存文件

命令:

:GoMetaLinter, which invokes all possible linters (golint, vet, errcheck, deadcode, etc..) and shows the warnings/errors

再论 golang 环境配置建议

例子中:Struct默认要求有注释,不然就会报警。对于常用的拼写比如说ID有严格的检查需要符合大众的拼写习惯。

其他正确性检查这里不再赘述。

自动补全

再论 golang 环境配置建议

注意:在最上面会显示API文档,想关闭文档快捷键:M-c

查找定义位置

快捷键:M-n

Outline 快速跳转(Tagbar)

快捷键:M-p

再论 golang 环境配置建议

快速关闭文件

快捷键:C-c

文件标签切换

快捷键: M-i 切换到上一个 快捷键: M-o 切换到下一个

保存文件

快捷键 C-s

注意: Stop tty已经被我关闭,不必担心tty被锁。

总结

在上面我总结的全部都是我加的快捷键用起来比较舒服的。如果您需要自己修改快捷键请fork我的github REPO

如果您有任何改进意见请回复留言给我发Email。先谢过。

vim还有很多默认的快捷键这里就不再多说,最好的学习方法是想到自己有什么习惯或者需要快捷键支持去google找找。


来源:51CTO

相关文章
|
缓存 Java 程序员
2023年最新无脑安装 Go lang 环境配置并编写、运行、打包第一个 Golang 程序详细步骤,附带图文教程
GO语言也称为Golang,由谷歌出品,随着云计算的发展而不断壮大,近年来,使用GO语言的程序员越来越多,GO程序员一般被称为GOpher。由于博主硬盘空间较为充足,不考虑移动软件安装目录,需要者请自行寻找方法,本文为无脑操作。
406 0
2023年最新无脑安装 Go lang 环境配置并编写、运行、打包第一个 Golang 程序详细步骤,附带图文教程
|
Java 中间件 Unix
Golang 环境配置与应用编译
这篇文章主要是说一下 Go 的工作目录与编译的规则,初步体验一下 Go 的大道至简的魅力。
297 0
Golang 环境配置与应用编译
|
JSON Go 数据格式
Golang语言 Gin框架环境配置、报错处理、接口调用、配置和日志管理|Go主题月
Gin框架环境配置、报错处理、接口调用、配置和日志管理
415 0
|
Oracle 关系型数据库 Go
|
3月前
|
Go
Golang语言之管道channel快速入门篇
这篇文章是关于Go语言中管道(channel)的快速入门教程,涵盖了管道的基本使用、有缓冲和无缓冲管道的区别、管道的关闭、遍历、协程和管道的协同工作、单向通道的使用以及select多路复用的详细案例和解释。
140 4
Golang语言之管道channel快速入门篇
|
3月前
|
Go
Golang语言文件操作快速入门篇
这篇文章是关于Go语言文件操作快速入门的教程,涵盖了文件的读取、写入、复制操作以及使用标准库中的ioutil、bufio、os等包进行文件操作的详细案例。
71 4
Golang语言文件操作快速入门篇
|
3月前
|
Go
Golang语言之gRPC程序设计示例
这篇文章是关于Golang语言使用gRPC进行程序设计的详细教程,涵盖了RPC协议的介绍、gRPC环境的搭建、Protocol Buffers的使用、gRPC服务的编写和通信示例。
112 3
Golang语言之gRPC程序设计示例
|
3月前
|
安全 Go
Golang语言goroutine协程并发安全及锁机制
这篇文章是关于Go语言中多协程操作同一数据问题、互斥锁Mutex和读写互斥锁RWMutex的详细介绍及使用案例,涵盖了如何使用这些同步原语来解决并发访问共享资源时的数据安全问题。
100 4