http://www.cnblogs.com/qgymje/p/3912259.html

 

当下首原来是深受商家里以go开发之互换用之,紧假诺工具的设置,用markdown写的,发表了内gitlab上,仓促发表暨blog上面,也不曾转什么格式,现在整一下,然后搭某些证

基本功开发工具

sublime text2下载

何以用sublime
text2?相信广大欣赏轻量级工具,开大气chrome网页以及用大量有些若强软件的开发者都喜欢editor吧,当然最关键是vim
mode!

安装package control

打开后,按ctrl + ~打开命令行,或者当view->show
console,复制如下代码,执行

json 1

import urllib2,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')

json 2

 

安装gosublime,配置

作为在st上出go的底子,必装,然后以settings-user里描写上如下配置,设定一个golang的workspace,这样虽得自行指示import包里的道了

json 3

{
    "env": {
        "GOPATH": "~/workspace:$GS_GOPATH"
    },
    "autocomplete_builtins": true,
    "autocomplete_suggest_imports": true
}

json 4

 

安装golint

golint用于检测语法问题,类似于jslint,不过其唤醒最多之独自是变量名不要就此生划线啊,然后于闹一个指出之变量名,要写注释啊…当然,写了诠释之后,使用godoc
-http=:8081 (端口随意)就可以在浏览器里看刚才忙碌写的诠释已经转移了文档

go get github.com/golang/lint
golint filename1 filepath1//可以使用多个参数指定目录或者文件

不过拿这一个安排到gosublime或者fswatch中失

安装goimporter

立即是一个相比较gofmt更厉害一点底工具,它汇合自动修改import里之管教,仍旧特别实用的,不会合为import里的事物没因而,或者用了某一个package而尚未import导致的荒唐提示,这是节省时间的好东西,积小成为多

go get code.google.com/p/go.tools/cmd/goimports

编译好将来,设置一个ln
-s到$GOBIN目录(或者复制过去),并且将gosublime的user-setting添加一行,好东西啊~

"fmt_cmd": ["goimports"]

横流:ln -s 需要相对路径

 

fswatch热编译

go get github.com/codeskyblue/fswatch

相同build好后连年至$GOBIN下,或者/usr/bin之类目录,windows用户这提出松开$GOBIN下,编译的时段平昔go
build,不要对单身的fswatch.go编译,因为生差不六个package main文件

当待目录执行fswatch,自动生成.fswatch.json
接下来于command里写得履行的下令,参考如下

json 5

{
    "paths": [
        "."
    ],
    "depth": 2,
    "exclude": [],
    "include": [
        "\\.(go|py|php|java|cpp|h|rb)$"
    ],
    "command": [
        "bash",
        "-c",
        "pgrep server | xargs kill && golint ./ && go build server.go && ./server"
    ],
    "env": {
        "POWERD_BY": "github.com/codeskyblue/fswatch"
    },
    "kill-signal": "KILL"
}

json 6

在意:command是投机写的,因为那多少个家伙在本人之Mac不克好掉启动的经过,因此即便手动加了kill的一声令下,具体哪修复还在研源代码中~~

拿golint并入到监控目录中错过,方便修改内容

supervisor

json 7

[program:vehiclestat]
command=~/workspace/yourprogram
autostart = true
autorestart = true
startsecs = 5
user = root
redirect_stderr = true
stdout_logfile = /var/log/supervisord/yourprogram.log

json 8

比实用的监察进程的家伙,比较用nohup ./xxx &如故于放心的

 

其它

设置当前目录为$GOPATH

alias gopath='export GOPATH=`pwd` && echo $GOPATH'

越来越适合多单不等目录下的go项目,在每个门类下运作四回于gopath,就安装好了脚下之gopath,非凡福利

 

总结:

不知怎么,我面前无异版本居然被更换有首页,说是要原创,那东西就是自个儿原创的哟,虽然工具都是别人的,但结合这么些事物啊是消费了迟早精力的呦!!!

则来idea +
goplugin相比好的方案,但要么相比较好手动配置,这样整一法下来,go的支付环境比完整了,还有一个蛋疼的就是调剂,难道调度还要不鸣金收兵地log.Println()吗??

相关文章

网站地图xml地图