Golang environment

install golang

http://www.wolfe.id.au/2015/03/05/using-sublime-text-for-go-development/

Within sublimetext, from the package manager, install gosublime, install gooracle.

install go/tools:

go get -u golang.org/x/tools/cmd/goimports
go get -u golang.org/x/tools/cmd/vet
go get -u golang.org/x/tools/cmd/oracle
go get -u golang.org/x/tools/cmd/godoc

install gometalinter (https://github.com/alecthomas/gometalinter)

install interfacer (https://github.com/mvdan/interfacer/)

install gosimple (https://github.com/dominikh/go-simple)

install gocov (https://github.com/axw/gocov)

Here is the package settings I use for gosublime:

{

    // you may set specific environment variables here
    // e.g "env": { "PATH": "$HOME/go/bin:$PATH" }
    // in values, $PATH and ${PATH} are replaced with
    // the corresponding environment(PATH) variable, if it exists.
    "env": {"GOPATH": "/home/go" },

    "fmt_cmd": ["goimports"],
    "ipc_timeout": 5,

    // enable comp-lint, this will effectively disable the live linter
    "comp_lint_enabled": true,

    // list of commands to run
    "comp_lint_commands": [
        // run `golint` on all files in the package
        // "shell":true is required in order to run the command through your shell (to expand `*.go`)
        // also see: the documentation for the `shell` setting in the default settings file ctrl+dot,ctrl+4
        {"cmd": ["golint *.go"], "shell": true},

        // run go vet on the package
        {"cmd": ["go", "vet"]},

        // run `go install` on the package. GOBIN is set,
        // so `main` packages shouldn't result in the installation of a binary
        {"cmd": ["go", "install"]}
    ],

    "on_save": [
        // run comp-lint when you save,
        // naturally, you can also bind this command `gs_comp_lint`
        // to a key binding if you want
        {"cmd": "gs_comp_lint"}
    ]
}