What editor plugins are you using for Go?

I’m surprised GoClipse hasn’t been mentioned yet.

Emacs with go-autocomplete go-eldoc go-mode go-projectile from melpa, and go-oracle go-rename from their respective packages.

I don’t use flycheck since a lot of stuff I work on deals with opengl and the build times are too slow (relative, but makes flycheck too slow for comfort). Plus, a lot of times i just want to save bad code and not have anything bothering me about it immediately.

Atom with go-plus is working fine for me. I also use some hacks to use godeps commands in editor.

Lets you navigate seamlessly between tmux panes and tmux splits with the same navigation keys. As a heavy tmux user they are wonderful.

3 Likes

I loved LiteIDE, but recently it has not been maintained on GitHub.

2 Likes

When writing code, Vim (detailed below). When trying to understand a non-trivial Go codebase, I load it up with IntelliJ and the Go plugin , simply because I find a full IDE really nice for rapidly navigating a project (due to the ability to ctrl-click on identifiers and jump to definitions, etc).

Vim setup

  • Janus
  • vim-go
  • YouCompleteMe-based autocompletion (supported by vim-go)

I find traversing way easier in vim-go (IMO). in vim-go gd on any identifier takes you to the definition and then ctrl+O take you back. add some leader key magic and you can move between files at great speed :smile:

3 Likes

Hey awesome! Thanks for that tip – very handy.

Hear, hear! Goclipse. Give whomever is developing that some cookies.

Intellij + go plugin + file watcher plugin for automatic goimports on save file.
That work like a charm on linux (and also on windows)

LiteIDE is supposidly being forked to continue development, but no new commits yet…

1 Like

Atom with the go-plus package, and in vim mode always.

1 Like

Honest question, why not VIM then (if vim mode in atom)??

LiteIDE should be greater choice for developing Go. Though Vim/SublimeText is also good.

Sure, np. Because I haven’t mastered the use of buffers in vim, and that drives me crazy. I am frequently doing the following: selecting text (A), copying. Selecting text (B), deleting. Pasting text, expecting it will be A, but it’s B. I know how to use the registry, but the time I have dedicated to making it automatic wasn’t enough. I will likely give it a try again. But for now, Atom it is. I do usually use vim when I know I’ll be coding from scratch, rather than doing mostly refactoring.

Edit: although Atom functions in vim mode, the copy and paste behaves like a GUI editor usually does, not like vim.

I know the learning curve for VIM is a little steep but I persisted for a month and now I can do most of the Go dev related things in VIM. also I stopped using mouse after my switch to VIM :smile:

I use webstorm and like it quite a bit. Here is the presentation I give on Go editors and their set-up to my comp sci students at the university - this will be helpful to anybody just starting out:

3 Likes

So far emacs with go-mode, company-go and flycheck. I’ve also set go build as my compile-command but I’m looking for a good approach for integrating go test into my workflow within emacs :smile:

After I removed facebook Nuclide from atom, Its speed seemed great and much better. :smile:

i generally have go test ./... as my compile command but more often than not, I’m selectively running tests manually from cli or just running goconvey in the background.