What IDE you guys use?


(Leonardo Gazio) #1

What’s the best and most complete IDE to work with GO…? I use LiteIDE… Is that the best one?


Beginer - Tools for Go Development
Does the Golang Team or Google have any plans to develop their own Golang IDE?
Does the Golang Team or Google have any plans to develop their own Golang IDE?
(Todd Rafferty) #2

I use Atom / Go-Plus. Use whatever you’re comfortable and productive with.


(Benjamin Radovsky) #3

Hey @leogazio,

There’s this old topic that you can read through if you want to see what some people use :slight_smile:

Personally though, I use vim with the vim-go plugin and my regular batch of vim programming plugins.


(Christoph Berger) #4

I use Vim with vim-go and bash with a couple of tools like gotab. Vim is an own class of editor, however. Its insert mode/command mode paradigm allows fast navigation because you can always leave your hands on the keyboard. No need to reach for the cursor keys or the mouse. This is not everyone’s taste, however. It is especially convenient for people who use a touch system; other people may not find any benefit in this paradigm.

Atom and Visual Studio Code (not to be confused with Visual Studio) seem to be other very popular editors.

Regarding IDE’s, there is LiteIDE, the Web based Wide (Docker container available), Eclipse (with a Go plugin) and the new Gogland IDE, and others. I joined the Gogland beta recently but I left at the same day as I could not wrap my head around Gogland’s philosophy of workspaces, runtime configurations (which seem similar to Eclipse’s runtime configuration philosophy that I consider quite over-engineered) and GOPATH handling. But YMMV.

As most of the editors and IDE’s are free to use, I’d suggest testing them to see if they fit your personal working style.

For completeness, here is a list of ediors and IDE’s with Go support.


UPDATE 2017-01-21: A few days ago I gave Visual Studio Code another try, to see how it has evolved since the last time I evaluated it (this was quite some months ago), and I am hooked now. Things like code completion and looking up definitions and references just work like a charm, and the Vim mode feels almost like the real thing. Shell integration is included, and it has Git and Delve (debugger) integrated in a nice way (although Delve currently does not work in VSC at my end (macOS)). What I also always missed in Vim is the ability to restore open windows after restart. (Yes, there are Vim plugins for that, but the ones I tried did not meet my expectations.) VSC does this out of the box.
So I am quite pleased with what I see so far.


(George Calianu) #5

most of the time i use a custom LiteIDE installation (see Gopei shell project) with a custom toolbox which help me working with git or quick deploy projects. sometimes i use VSCode especialy for MSSql plugin.
main developing platform is Ubuntu :innocent:.


(Tony André Haugen) #6

It’s all about what you feel comfortable using and will be most productive using. I have tried emacs, Atom and Visual Studio Code. And I liked Visual Studio Code with vscode-go the most.

Try them all out and that way you can get a feeling for which environment you want to devote a lot of time inside :slight_smile:


(Ericmdantas) #7

Atom + Go-Plus


(Rio M) #8

Sublime


(Duncan Murray) #9

Nvim. I did try vim-go, and I like the ‘in-function’ ability, but found the various checks on closing the file a bit annoying. I might just need to configure it a bit more…


(Benjamin Radovsky) #10

Hey @Duncan_Murray,

If you are referring to the vim No write since last change checks when you want to close a file that isn’t yet saved etc., you can just add .vimrc aliases to avoid it.

Personally I use the , key as my <leader> key, so I have these 2 mappings set up for closing files forcefully without those checks, so when I type ,q either in normal or insert mode, vim will just exit. (I have mappings and aliases for just about everything :stuck_out_tongue:)

nmap <leader>q :q!<CR>
imap <leader>q <esc>:q!<CR>

Edit: I just noticed you said you are using nvim as opposed to just vim, so rather than putting them in a .vimrc file, if I recall correctly from when I set up nvim, just put those mappings in the init.vim file if that’s still what nvim uses.


(Duncan Murray) #11

Hi @radovskyb

I don’t think it’s a VIM feature - basically I’ve got nvim on my system, which seems to do a fairly decent job with syntax highlighting, and I’ve been happily running “:go fmt main.go” etc from vim for formatting. On another system I’ve vim with vim-go, and it seems to do some sort of error-checking on saving the file. I’m not sure if it’s just go fmt, or whether it tries to compile it too? I normally use ZZ to exit, so I find I have to repeat that to get out - sometimes more than once. And it sometimes does that when I’d already fixed the problem! I do like the :GoRun functionailty though. As I said, it’s probably just a problem with my configuration. Probably my .vimrc just needs to be razed and I should start again! I use R and nvim-r as well and I worry about the mess that is my vim/nvim install.


(Benjamin Radovsky) #12

Ah, ok, I completely misunderstood what you initially meant, but yeah definitely sounds like configuration problems then.

With vim-go, you should have a look at this if you’d like for vim-go settings: https://github.com/fatih/vim-go#settings

Particularly settings such as let g:go_fmt_fail_silently = 1 if you want to disable showing errors for the fmt command since it does that by default when formatting, as well as let g:go_fmt_autosave = 0 if you don’t want it to fmt on save.


(John Grant) #13

JetBrains have just introduced a dedicated Go IDE codenamed ‘Gogland’.

I’ve been using their Go plugin for IntelliJ over the past 2 years. The plugin can be used with the free community edition of IntelliJ.

Based on my experience of the plugin switching over to the Go IDE will be a no-brainer.


(Pedro Luz) #14

Visual Studio Code with go plugin


(Muhammed Sadık) #15

Actualy I had tried LiteIde, Eclipse, Visual Studio Code before. Visual Studio Code was my favorite since I saw Gogland.
Although Jetbrains’ Gogland is now in preview mode, it should be given a chance.


(Leonardo Gazio) #16

Hey guys thank you for your replies, I’m sorry for the delay in answering, I was on vacation, I’m using LiteIDE and like it…


( ) #17

Gogland has quite a few odd quirks. One of which is that the auto-complete import always places new imports at the bottom of the import block :unamused:

I still love it for the great code-reading features - [Ctrl|Cmd]-B to go to definition is something I can’t live without anymore.


(Bruce.Auyeung) #18

i use visual studio code + vscode-go plugin for big projects, and i also use LiteIDE for single-file go tests/demos


(Rm) #19

Tried Vim, LiteIDE, Visual Studio Code, Intellij, and Gogland. Not sure what Gogland can do that the free version of Intellij can do… I’ll probably use Gogland until they make me pay for it then switch back. All I can say is that I am an occasional programmer and I write stuff to fill the gaps as I am mainly an Operations Support. I can develop a lot faster using IntelliJ or Gogland thanks to the code completion and the help it gives me with the parameters. Finding out the inner workings of a function, type, or interface – just hold the alt key and it opens in a new tab. I just wish IntelliJ / Gogland took up less resources.


(Anders Kristensen) #20

PHPStorm with GO Plugin. Awesome combo