There are quite a few IDE choices for Go. I’m not going to list them all, but here are my prefered ones with the reasoning behind it.

The free option

VS Code logo.

VS code is my main IDE as of late. It does not matter if I code Go or Node, I always prefer to go with VS code. I used to use Atom for it’s extensibility and the amount of packages avaialble. But recently, I’ve felt that the quality of packages and the editor itself is better on VS code. That might be due to the fact that it has the backing of Microsoft. Personal experience shows, that open source products backed by huge companies tend to do better over time. It’s no surprised that VS code has exploded recently and the amount of extensions available now is pretty darn amazing. All you need to do is intall a Go extension and you’re ready to… well… Go. While it’s not as fast as sublime or other light weight editors I find it pretty snappy for small to medium sized projects. Microsoft’s intellisense is pretty damn good. Getting delve also allows for debugging inside it, albeit delve itself seems a bit sluggish and unresponsive. That’s probably a general rant of mine with go - the debuggers seem to be rather poor. Despite this, I really love VS code for the ability to support pretty much any language you can think of.

The expensive option

Goland logo.

Goland is an IDE made by Jetbrains. That means it’s probably as good as any other IDE that Jetbrains have ever put out. It also means that it’s a paid product(albeit you can get a free license if you’re a student or have an open source project). Despite it’s price(which is 89$ for an individual/year), it’s definitely worth it. Jetbrains have once again provided a very good IDE. Excellent code completion, with tons of features that I never end up using. A solid choice for enterprise development. One thing to that does bother me - it takes a while to index the project once you open it up for the first time.

The one I wish I could do

Vim-go logo.

The good old vim is the usual suspect when it comes to any language. Add the Vim-go plugin and you have a solid editor. Combined with the legendary vim productivity, it’s the tool to go if you can get past vim’s famous learning curve. I would really like to switch to Vim, but having no prior knowledge it scares me a bit. However, after reading this post I’m now more tempted to switch than ever.

How I actually use them

In day to day life, I actually use both - Goland and VS Code. VS Code is my prefered option, it just feels way snappier and makes me happy to actually work on it. I still end up using Goland at work from time to time, when a session of heavy debugging is on the way. While the debugger I use is still Delve in either case, VS Code just feels lacking. Golang does a better job of providing me with the info I want. These sessions do not happen often though, so I stick with my VS Code most of the time.

What about you? What IDE do you use for GO and why?