免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2229 | 回复: 1
打印 上一主题 下一主题

[其他] golang 环境配置建议 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-05-20 14:01 |只看该作者 |倒序浏览
开发环境的必要特征
  • 项目管理
  • 快速文件跳转
  • 自动语法检查
  • 自动补全
  • 查找定义
  • 启动速度快
  • 如果自己有需求的话插件可以随便写
     (project,lint,hint,autocomplete)
要实现上面几点我们来一步一步的配置。
我的大环境
  • OSX
  • GO 1.4
  • HomeBrew
go 环境安装
这一部分是最重要的,如果没有它,每次build的时候出现 too many errors 心里真的是非常难过的。
  • 环境配置:(golint,gooracle,mercurial) 安装mercurial: brew install mercurial   

  1. 这个东西是用来做版本管理的,也是下载代码的工具类似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经常出现问题。
  1. 解决方案:

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

  4. 此步骤只能替代go get的步骤,最后还是需要go install
复制代码
7.go install 之后会在 $GOPATH/bin/ 中出现各种工具文件
  • gocode 提供代码补全
  • godef 代码跳转
  • gofmt 自动代码整理
  • golint 代码语法检查
  • goimports 自动整理imports
  • oracle 代码callgraph查询(plugin中还在todolist中,但是不配置一直报错。实在烦。)最后的配置结果(安装完之后 Package->Go Plus->Display Go Information)  
  1. 最后不要忘记复制上面的命令到 $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
复制代码
项目管理,自动文件跳转
  • 插件: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.按快捷键之后的效果展示:

自动语法检查,自动补全
  • 插件go-plus,autocomplete-plus(dependance),gocode
    使用 apm install 安装就可以了。速度还可以。
  • 使用细节 在保存的时候

    • 会自动补上imports
    • 会自动整理代码
    • 比如说 a:=5 会变成 a := 5
      两个空行自动变成一个空格

  • lint自动检查语法错误(go build 的错误都会显示出来)
  • vet会自动检查语法拼写建议
       函数,结构体 会提示补上注释。
       比如说会提示你函数前面需要加入godoc类型的注释: // functionname
       注释的第一行需要使用双斜杠注释+空格+函数名+空格+简短的函数功能说明。
  • 使用细节: 在编辑的时候

    • go-plus会配合autocomplete-plus会自动补全包名字(tab补全,回车不行,这个真心舒服)
    • 包名.之后输入方法名开头几个字母会给出补全建议。
  • 安装之后的演示(类似go-plus官方演示)
  • gocode 插件自动补全演示

    • 这个插件继承自autocomplete,因为年久失修。api用的是老版本,所以一直都会出现api警告。(我是实用主义,视而不见)
    • gocode如果找不到就进入代码找到文件autocomplete-view.coffee 中105行写成绝对路径就肯定没有问题了。
    • 绑定快捷键,因为这个插件没有绑定快捷键的文件(keymap)所以需要在keymap.cson下自己手动绑定配置如下:
      1. '.active.pane':
      2.   'ctrl-;': 'gocode:toggle'
      复制代码

    • 效果演示


查找定义
  • 插件 godef
  • 使用细节:光标在目标代码上的时候,使用快捷键ctrl-k跳转到目标代码的定义代码上。
总结
  • 我这里只是总结了我用的所有的golang相关的atom插件。
  • 要相信golang使用编辑器就够用的事实了。因为 go tool 实在是太好用了。
我的key map
  • cmd-d duplicate line
  • cmd-w 关闭标签
  • cmd-r 文件内的标签列表
  • cmd-e 使用选中的内容做搜索的pattern
  • shift-cmd-f project内部搜索,这个非常实用。command 配置(keymap.cson)
  1. '.platform-darwin atom-text-editor':
  2.   'shift-cmd-D': 'find-and-replace:select-next'
复制代码

论坛徽章:
24
金牛座
日期:2013-08-21 07:55:52射手座
日期:2014-09-29 15:36:14摩羯座
日期:2014-10-07 21:42:57天秤座
日期:2014-10-16 10:03:00午马
日期:2014-10-19 13:40:31酉鸡
日期:2014-11-08 08:44:54处女座
日期:2014-11-10 17:01:21午马
日期:2014-12-06 16:52:38羊年新春福章
日期:2015-02-12 17:41:512015年迎新春徽章
日期:2015-03-04 09:58:1115-16赛季CBA联赛之广夏
日期:2022-10-07 19:41:11巳蛇
日期:2014-09-13 15:29:54
2 [报告]
发表于 2015-05-20 15:51 |只看该作者
本帖最后由 wangspace 于 2015-05-20 15:53 编辑

顶下    好贴              
ubuntu下的go环境搭建:)
http://my.oschina.net/Obahua/blog/110767               
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP