再论 golang 环境配置建议

简介:

再论 golang 环境配置建议


摘要

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

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

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

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

  1. 项目管理
  2. 快速文件跳转
  3. 自动语法检查
  4. 自动补全
  5. 查找定义
  6. 启动速度快
  7. 如果自己有需求的话插件可以随便写
  8. 灵活的运行配置

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

  1. 国内的网络环境
  2. 升级方便
  3. 随时随地快速部署自己的开发环境
  4. 能在线上服务器进行开发,随时随地升级版本修改代码。

Docker Registry


  
  
  1. docker pull index.tenxcloud.com/philo/golangdev:1.2.1
  2. 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

特征解释

兼顾国内网络情况

  1. 使用Dockerfile从国外VPS构建,然后推送到时速云备用。这种构建方式适合调试
  2. 推荐!如果您在国外没有VPS推荐使用时速云TCE来构建,从香港节点自动化构建随时能看到日志。参考文档

升级方便

  1. 直接修改Dockerfile完成升级,调整From就可以调整底层系统使用。
  2. 可根据您的需要随时定制自己的版本。非常方便

随时能够快速部署

  1. Docker启动速度非常快
  2. 如果您没有Image在内网该Image也只有1GB大小可非常快速的传输到您的电脑。
  3. 国内准备好了加速源,详细查看Docker Registry部分。时速云确实挺快的。
  4. 如果您的工作站安装的是CoreOS or Rancher这种的Docker Linux 不但安装快,部署开发环境也是一瞬间完成。

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

  1. 只要部署到线上服务器直接就可以使用。
  2. 老板再也不用担心我的集成新功能速度太慢了。

使用方法

文件跳转(Command-T)

快捷键: <leader>t

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

项目管理(NERD_tree)

快捷键: M-u

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

自动语法检查

触发: 每次保存文件

命令: 


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

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

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

自动补全

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

查找定义位置

快捷键:M-n

Outline 快速跳转(Tagbar)

快捷键:M-p

快速关闭文件

快捷键:C-c

文件标签切换

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

保存文件

快捷键 C-s

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

总结

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

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

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




本文来自云栖社区合作伙伴“Linux中国”

原文发布时间为:2013-04-02.

相关文章
|
缓存 Java 程序员
2023年最新无脑安装 Go lang 环境配置并编写、运行、打包第一个 Golang 程序详细步骤,附带图文教程
GO语言也称为Golang,由谷歌出品,随着云计算的发展而不断壮大,近年来,使用GO语言的程序员越来越多,GO程序员一般被称为GOpher。由于博主硬盘空间较为充足,不考虑移动软件安装目录,需要者请自行寻找方法,本文为无脑操作。
390 0
2023年最新无脑安装 Go lang 环境配置并编写、运行、打包第一个 Golang 程序详细步骤,附带图文教程
|
Java 中间件 Unix
Golang 环境配置与应用编译
这篇文章主要是说一下 Go 的工作目录与编译的规则,初步体验一下 Go 的大道至简的魅力。
287 0
Golang 环境配置与应用编译
|
JSON Go 数据格式
Golang语言 Gin框架环境配置、报错处理、接口调用、配置和日志管理|Go主题月
Gin框架环境配置、报错处理、接口调用、配置和日志管理
409 0
|
IDE Go 开发工具
Golang之环境配置
        这里先以Windows为例,以后会补齐Linux部分,Linux部分更简单。 一、Golang安装 1、二进制安装         (1)点击这里下载最新版本的GO。
1355 0
|
Oracle 关系型数据库 Go
|
3天前
|
存储 JSON 监控
Viper,一个Go语言配置管理神器!
Viper 是一个功能强大的 Go 语言配置管理库,支持从多种来源读取配置,包括文件、环境变量、远程配置中心等。本文详细介绍了 Viper 的核心特性和使用方法,包括从本地 YAML 文件和 Consul 远程配置中心读取配置的示例。Viper 的多来源配置、动态配置和轻松集成特性使其成为管理复杂应用配置的理想选择。
16 2
|
6天前
|
安全 Go
用 Zap 轻松搞定 Go 语言中的结构化日志
在现代应用程序开发中,日志记录至关重要。Go 语言中有许多日志库,而 Zap 因其高性能和灵活性脱颖而出。本文详细介绍如何在 Go 项目中使用 Zap 进行结构化日志记录,并展示如何定制日志输出,满足生产环境需求。通过基础示例、SugaredLogger 的便捷使用以及自定义日志配置,帮助你在实际开发中高效管理日志。
20 1
|
6天前
|
程序员 Go
go语言中的控制结构
【11月更文挑战第3天】
81 58