再论 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 中间件 Unix
Golang 环境配置与应用编译
这篇文章主要是说一下 Go 的工作目录与编译的规则,初步体验一下 Go 的大道至简的魅力。
253 0
Golang 环境配置与应用编译
|
JSON Go 数据格式
Golang语言 Gin框架环境配置、报错处理、接口调用、配置和日志管理|Go主题月
Gin框架环境配置、报错处理、接口调用、配置和日志管理
347 0
|
IDE Go 开发工具
Golang之环境配置
        这里先以Windows为例,以后会补齐Linux部分,Linux部分更简单。 一、Golang安装 1、二进制安装         (1)点击这里下载最新版本的GO。
1334 0
|
Oracle 关系型数据库 Go
|
6月前
|
存储 编译器 Go
Golang 语言的多种变量声明方式和使用场景
Golang 语言的多种变量声明方式和使用场景
32 0
|
6月前
|
缓存 编译器 Go
Golang 语言 vendor 在 GOPATH 和 Modules 中的区别
Golang 语言 vendor 在 GOPATH 和 Modules 中的区别
31 0
|
6月前
|
Go 数据中心 微服务
Golang 语言微服务的服务发现组件 Consul 的系统架构介绍
Golang 语言微服务的服务发现组件 Consul 的系统架构介绍
59 0
|
1月前
|
SQL 前端开发 Go
编程笔记 GOLANG基础 001 为什么要学习Go语言
编程笔记 GOLANG基础 001 为什么要学习Go语言