golang 环境配置建议

golang 环境配置建议

开发环境的必要特征

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

(project,lint,hint,autocomplete)

要实现上面几点我们来一步一步的配置。

我的大环境

  1. OSX
  2. GO 1.4
  3. HomeBrew

go 环境安装

这一部分是最重要的,如果没有它,每次build的时候出现 too many errors 心里真的是非常难过的。

  1. 环境配置:(golint,gooracle,mercurial)

    • 安装mercurial: brew install mercurial
      这个东西是用来做版本管理的,也是下载代码的工具类似git,貌似google的项目用的挺多的。

    • 安装golint:
      
      
      1. $ go get github.com/golang/lint
      2. $ go install github.com/golang/lint
  2. 安装gooracle
    
    
    1. go get code.google.com/p/go.tools/cmd/oracle
  3. 安装goimport
    
    
    1. go get golang.org/x/tools/cmd/goimports
  4. 安装gocode
    
    
    1. go get -u github.com/nsf/gocode
  5. 安装 godef
    
    
    1. go get -v code.google.com/p/rog-go/exp/cmd/godef
    2. go install -v code.google.com/p/rog-go/exp/cmd/godef
  6. 安装环境的时候经常会出现下载不下来的问题,大概是我网络不好吧。连接google经常出现问题。
    解决方案:

    golang中国的下载频道中有一个第三方包的下载工具,只要输入地址之后人家会给你提供下载tar包的。
    放到gopath中就ok了。

    此步骤只能替代go get的步骤,最后还是需要go install

  7. go install 之后会在 $GOPATH/bin/ 中出现各种工具文件
    • gocode 提供代码补全
    • godef 代码跳转
    • gofmt 自动代码整理
    • golint 代码语法检查
    • goimports 自动整理imports
    • oracle 代码callgraph查询(plugin中还在todolist中,但是不配置一直报错。实在烦。)

    最后不要忘记复制上面的命令到 $GOROOT/bin/下面

  8. 最后的配置结果(安装完之后 Package->Go Plus->Display Go Information)
    
    
    1. Cover Tool: /usr/local/go/pkg/tool/darwin_amd64/cover
    2. Vet Tool: /usr/local/go/pkg/tool/darwin_amd64/vet
    3. Format Tool: /Users/Li-jianying/git/bin/goimports
    4. Lint Tool: /usr/local/go/bin/golint
    5. Gocode Tool: /Users/Li-jianying/git/bin/gocode
    6. Gocode Status: Enabled
    7. Oracle Tool: /Users/Li-jianying/git/bin/oracle
    8. Git: /usr/bin/git
    9. Mercurial: /usr/local/Cellar/mercurial/3.2.1/bin/hg
    10. PATH: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin

     没有红色的行就没有问题了。

项目管理,自动文件跳转

  1. 插件:project-manager
    这个插件是非常hot的,在atom.io的首页上排名还是非常靠前的。

  2. 使用细节:
    • 配合tree view ( cmd - \) 打开关闭project file
    • 搜索项目文件 ( cmd -t )
      输入的时候按照顺序输入关键字,比如说 user模块的controll中的go源代码。搜索的时候可以使用多个快捷键 =》 user controll go,就可以准确的找到源代码了

    • 打开项目列表 ( ctrl-cmd-p )
      然后就会显示出来一个项目列表回车就可以打开项目。

  3. 总结:

    感觉这个插件的treeview用途的确不是很大,因为正常项目的项目文件会很多。
    不过是快速打开项目(文件夹)是非常方便的,配合快速打开文件还是相当爽的。

  4. 按快捷键之后的效果展示:

自动语法检查,自动补全

  1. 插件go-plus,autocomplete-plus(dependance),gocode
    使用 apm install 安装就可以了。速度还可以。
  2. 使用细节 在保存的时候
    • 会自动补上imports
    • 会自动整理代码
      比如说 a:=5 会变成 a := 5

      两个空行自动变成一个空格

    • lint自动检查语法错误(go build 的错误都会显示出来)
    • vet会自动检查语法拼写建议
      函数,结构体 会提示补上注释。

      比如说会提示你函数前面需要加入godoc类型的注释: // functionname

      注释的第一行需要使用双斜杠注释+空格+函数名+空格+简短的函数功能说明。

  3. 使用细节: 在编辑的时候
    • go-plus会配合autocomplete-plus会自动补全包名字(tab补全,回车不行,这个真心舒服)
    • 包名.之后输入方法名开头几个字母会给出补全建议。
  4. 安装之后的演示(类似go-plus官方演示)
  5. gocode 插件自动补全演示
    • 这个插件继承自autocomplete,因为年久失修。api用的是老版本,所以一直都会出现api警告。(我是实用主义,视而不见)
    • gocode如果找不到就进入代码找到文件autocomplete-view.coffee 中105行写成绝对路径就肯定没有问题了。
    • 绑定快捷键,因为这个插件没有绑定快捷键的文件(keymap)所以需要在keymap.cson下自己手动绑定配置如下:
      
      
      1. '.active.pane':
      2. 'ctrl-;': 'gocode:toggle'
    • 效果演示

查找定义

  1. 插件 godef
  2. 使用细节:光标在目标代码上的时候,使用快捷键ctrl-k跳转到目标代码的定义代码上。

总结

  1. 我这里只是总结了我用的所有的golang相关的atom插件。
  2. 要相信golang使用编辑器就够用的事实了。因为 go tool 实在是太好用了。

我的key map

  1. cmd-d duplicate line
  2. cmd-w 关闭标签
  3. cmd-r 文件内的标签列表
  4. cmd-e 使用选中的内容做搜索的pattern
  5. shift-cmd-f project内部搜索,这个非常实用。command 配置(keymap.cson)
    
    
    1. '.platform-darwin atom-text-editor':
    2. 'shift-cmd-D': 'find-and-replace:select-next'

感谢golang

  1. golang能有如此的开发体验,以及在如此低的版本中表现的这么好。实在是大牛赐予我们最好的礼物了。
  2. golang的有如此好的开发工具加上各种扩展性比较强的编辑器(vim,emacs,sublime,atom等)开发体验的确是非常好的。

原文发布时间:2015-02-08

本文来自云栖合作伙伴“linux中国”

时间: 2024-09-16 21:43:31

golang 环境配置建议的相关文章

再论 golang 环境配置建议

再论 golang 环境配置建议 摘要 在之前的实践中满足开发环境所有特征的情况下进行了大量方式上的升级.经过8次的版本升级,调整,爬坑,终于觉得这次版本升级足够有意义替代之前版本的建议. 我总觉得花一少部分的时间调整开发工具让自己的工作效率更高是非常值得的. 本次祭出大招Docker来作为项目开发的主要脚手架. 并且我现在认为一个好的开发工具应该满足: 项目管理 快速文件跳转 自动语法检查 自动补全 查找定义 启动速度快 如果自己有需求的话插件可以随便写 灵活的运行配置 但是根据10个月的开发

高效MacBook工作环境配置

本文记录MacBook工作环境配置过程,供新入手或觉得MacBook比较难用的同学参考. 欢迎关注本人的微信公众号:高效程序员,第一时间获取高效的工作方式和编程技巧. 1. 硬件提升 笔记本电脑的特点是携带方便,缺点是屏幕太小,因此你首先需要再搞一个外接显示器,多一个屏幕会大大减少你切换应用程序的次数,显著提升你的工作效率,如果你资金宽裕,可以买个机械键盘和无线鼠标,进一步提升工作效率. 2. 系统设置 2.1 将功能键(F1-F12)设置为标准的功能键 MacBook键盘最上面一排的功能键(F

JSP+JAVABEAN+SERVLET开发环境配置指南

js|servlet *************************************本贴从网上搜索得来,是我初学JSP找到的最好的一篇配置指南了.原作者已无法确定,不过在此也略表感谢.当初,我遍历TOMCAT英文文档依然无法找到SERVLET的安装配置的方法(本人E文水平有限),后来看到这贴子一时豁然开朗.值得推介.************************************* j2sdk1.5下载地址:http://java.sun.comtomcat5.5下载地址:h

Mac OS X系统搭建谷歌Go语言开发工具 Sublime Text 2环境配置

  一.安装Golang的SDK 在官网http://golang.org/ 直接下载安装包安装即可.下载pkg格式的最新安装包,直接双击运行,一路按照提示操作即可完成安装. 安装完成后,打开终端,输入go,检测Golang SDK是否安装成功,如下显示,则表示安装成功: 开发工具 Sublime Text 2环境配置-mac os 搭建ftp服务器"> 你也可以输入go version 查看你所安装的Golang的版本 二.环境变量配置(GOPATH) GOPATH是用来告诉Golang

【Java】各种软件安装与环境配置的失败

   又来到了java的世界,看了一段时间的视频,感觉太空虚,便从网上找到一个教程,想做几个demo试试,少不了的前期准备:Java开发环境配置,Eclipse JSP/Servlet 环境搭建等.    花了好几个小时的时间,最后看到成功运行的demo,总算是觉得努力没有白费.这准备过程,自己一路波折,遇到了各种软件安装和环境配置的失败.    下面,做一些相关的经验总结,分享给大家. [一.Java开发环境的配置] 参考教程:Java开发环境搭建 注意点: 1.下载的JDK环境,必须与自己的

[React-Native]环境配置&HelloWorld

一.前言 手头有mac.有开发者证书,不想浪费资源,之前做过iOS开发,还会对移动开发表示关注,现在移动开发目前用Rect Native也是一个热潮,加上之前有web开发经验,然后就有了学习的冲动.Keep learning, make me happy! 二.环境配置 需要mac设备 需要Xcode6.3版本以上 安装Node.js:https://nodejs.org/download/ 建议安装watchman,终端命令:brew install watchman 安装flow:brew

《Cocos2D-x权威指南》——2.1 Windows下的开发环境配置

2.1 Windows下的开发环境配置 搭建Windows下的Cocos2D-x开发环境,首先需要安装VS,VS是微软公司推出的集成开发环境,是目前Windows平台上最流行的开发环境.它可以用来创建Windows平台下的Windows应用程序.网络应用以及网络服务等,支持的语言包括C++.Basic.C#等. Cocos2D-x框架支持的VS版本包括VS2008.VS2008 Express以及VS2010.本书选择的开发环境是VS2008. 首先,从微软官方网站下载VS(VS是一款收费软件)

win7+apache+php+mysql环境配置操作详解_php技巧

1.php版本简介php各版本之间的区别,php版本后面一般有VC6和VC9.Thread Safe和Non Thread Safe的区别,VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的,VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的,如果你选用的是Apache或者其他服务软件,那么选择VC6,选用的是IIS的话,那么请下载VC9 的.Thread Safe 是线程安全,而Non Thre

快速一键部署测试环境,降低环境配置风险

环境部署是软件测试很重要的一个环节,但也是比较耗时间的环节,很多企业经常是项目立项后,开始邮件申请服务器资源,再三催促审批通过后,进行手工部署搭建环境,然后解决各种依赖和修改各种配置文件.如何有效减少环境部署流程,提升环境搭建效率,并且保证环境配置质量安全呢?针对这些需求,新型一站式研发效能平台,云效的环境管理系统提供了解决方案. 首先,解决测试服务器资源管理的问题. 云效平台统一对测试服务器资源(包含:测试服务器.帐号)进行时间片管理(按时间进行申请占用的方式).企业在后台申请机器信息,点击I