Hacker News new | ask | show | jobs
by beck5 4373 days ago
There are a couple of things which have stopped me getting into go which I am ignorant about.

- Lack of decent IDE with intellisense/good refactoring support.

- Libraries seem to be globally shared between projects like rvm rather than in the project like nvm.

Am I wrong, misguided or out of date on these things?

3 comments

    > Lack of decent IDE with intellisense/good refactoring 
    > support.
Sublime Text + GoSublime; vim + go-vim.

    > Libraries seem to be globally shared between projects 
    > like rvm rather than in the project like nvm.
There's no fixed rule. If you need dependable reproducible builds, current best-practice is to vendor your libraries in your repo.
Thanks, sublime tex and vim with plugins are still a long way off what you get from a good ide. Just glancing there is no real refactoring support, its more around auto complete.
Refactoring in Go is accomplished with `go fix`.
Is VIM considered an IDE?

I am aware it is powerful and has as many features as an IDE but seems like it will take a fair bit of time to learn (on top of learning a new language). Eclipse is fairly intuitive by comparison.

I use LiteIDE to good effect. It has a few kinks to work out but is generally everything I need. The Go intellij plugin is supposed to be good too from what I hear.

Packages are shared across projects in the same gopath, you could run separate gopaths for isolation.

I've found the Go plugin for IntelliJ to be flaky around the things I most want. Particularly refactoring. It would also be nice if it borrowed the behaviour of the sublime and vim plugins and fmt'd code on save.
I'm using Go only for experimenting. IntelliJ worked great so far and I'm saying this as a person who works with Visual Studio + Resharper in his day-job.
LiteIDE is nice, gosublime also. There is GO plugin for IntelliJ, but I haven't tried it yet.

Libraries can be vendored in many ways(virtualenv(gopm), bundler like patching env(goop) or simply by manipulating GOPATH)