What IDE you guys use?

Whatā€™s the best and most complete IDE to work with GOā€¦? I use LiteIDEā€¦ Is that the best one?

3 Likes

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

6 Likes

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.

6 Likes

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.

5 Likes

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:.

1 Like

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:

8 Likes

Atom + Go-Plus

2 Likes

Sublime

1 Like

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ā€¦

1 Like

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.

1 Like

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.

1 Like

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.

1 Like

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.

8 Likes

Visual Studio Code with go plugin

8 Likes

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.

1 Like

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ā€¦

3 Likes

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.

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

1 Like

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.

PHPStorm with GO Plugin. Awesome combo