4 ms·
The article sort of glosses over IntelliJ with the golang plugin as an "other" IDE, but it's best in class hands down. At one point in my past I had sworn off o
by themartorana 10y ago
The article sort of glosses over IntelliJ with the golang plugin as an "other" IDE, but it's best in class hands down. At one point in my past I had sworn off of Java-based IDEs, and used Sublime Text for years with primarily Python and Go. Something convinced me to try Go in IntelliJ, and really it's fantastic.
It also covers "important-to-me" features the author mentions. I haven't tried VSCode yet, but have tried all the others listed. IntelliJ is fantastic for Go.
- sagichmal 10y agoIn my experience most Go developers seem to favor a terminal-heavy workflow, sometimes frequently shutting down and re-opening their editors in new paths and projects. The barebones simplicity of Go-the-language seems to be a nice match to this workflow. It's a different thing altogether to how large IDEs like IntelliJ expect you to work: opening up a project and staying in the IDE for a long period of time. Both approaches are totally valid, of course, but I suspect Go developers are biased toward lighter-weight editors.
- nedsma 10y agoI concur. Go syntax is dead simple and even the most basic tools like https://play.golang.org/ https://play.golang.org/ can be used without hesitation for some quick and dirt POCs. In the discovery mode, when you're learning a new library, any tool that supports code completion and provides documentation links is nice to have.
- xixixao 10y agoSurprises me it doesn't have syntax highlighting.
- tujv 10y agoPossibly because Rob Pike is not a fan of syntax highlighting, calling it juvenile. https://groups.google.com/forum/#!msg/golang-nuts/hJHCAaiL0so/kG3BHV6QFfIJ https://groups.google.com/forum/#!msg/golang-nuts/hJHCAaiL0s...
- ramchip 10y agoWow, his second response is really demeaning. Or maybe it's just a shock to me after hanging out in really friendly communities (Elixir etc.) for a while...
- twr 10y agoPike literally quoted a passage from the bible: https://en.wikipedia.org/wiki/1_Corinthians_13 https://en.wikipedia.org/wiki/1_Corinthians_13 I won't argue that it was in good taste.
- QuercusMax 10y agoIf by "literally quoted", you mean paraphrased... Or is this just another case where literally doesn't mean literally?
- twr 10y agoNo. Sorry. I should have linked to the NASB translation, which was the source of his (literal) quote. https://www.biblegateway.com/passage/?search=1+Corinthians+13%3A11&version=NASB https://www.biblegateway.com/passage/?search=1+Corinthians+1...
- jasonwatkinspdx 10y agoOn the whole I've found the golang community to be quite positive and enforcing good norms about crappy behavior. I wouldn't assume too much from a post Rob made 4 years ago.
- protomyth 10y agoI feel bad for the person who wanted it on := lines because of sight issues.
- nedsma 10y agoMaybe it has to do something with the fact that Go's grammar is modest in size, being only 25 keywords. Compare that with C99 - 37, C++11 - 84, Rust 52 etc.
- themartorana 10y agoOh me too - my setup is usually split screen IntelliJ and iTerm2. But as projects grew larger, (and I wasn't a vim-er) a lot of the tools that come with a full fledged IDE became nice-to-haves (definition-on-hover as source code, click-to-definition, tree and object graph always open, and so on). I know my setup isn't for everyone, but if you're looking for a good Go IDE experience, especially if your projects are of any size, don't pass over trying IntelliJ. I spend 95% of my time in Go now, and IntelliJ has been surprisingly good.
- meddlepal 10y agoAs a Java developer that uses Intellij exclusively this is great news. Maybe I'll check out Go more. I really hate using languages without good IDE integration.
- weberc2 10y agoI think you'll have a good experience with the integration. Go is the only language I know of where tooling is mostly painless. If you can manage to grok the notion of GOPATH, everything else pretty much just works--even in vim, all you have to do is install vim-go and you get code completion, automatic formatting, jump-to-definition, test execution, coverage reporting, compilation/compilation-error-reporting, etc etc all out of the box (vim-go just wrangles a bunch of programs that provide these facilities, which mean they can also be wrangled for other editors as well).
- axylone 10y agoThere's also Goclipse for Eclipse.
- jaimeyap 10y agoI second this. I've given Gosublime (and more recently VSCode) a solid try on several occassions. Neither hold a candle to the Intellij Go plugin. Being able to give solid rename refactor, and code navigation, even when your code is in a partial spaghetti, non-compiling-mid-development state is hard. And the Intellij plugin does a decent job at it. Not quite Java-level good. But pretty darn good. The existing command line Go tooling (while great) just don't do a good job at providing that kind of support to your IDE.
- twic 10y agogo-plus for Atom is pretty good. I haven't used the IntelliJ plugin, so can't compare them.