zlacker

[parent] [thread] 7 comments
1. cresha+(OP)[view] [source] 2015-12-12 14:19:17
> For verbose languages, you can't beat auto-completion and auto-import.

And you can get both in vim, emacs, etc. The lines between those and full IDEs are blurry with the right (or wrong) amount of plugins.

replies(2): >>izacus+j1 >>simula+x1
2. izacus+j1[view] [source] 2015-12-12 14:47:58
>>cresha+(OP)
The autocompletion in both vim and emacs was always significantly worse than any IDE-based ones, no matter the plugin I tried (for C, C++, Python or Go). Most of them are pretty much limited to ctags with no context matching, others simply died on projects beyond trivial.
replies(4): >>to3m+G1 >>DrJoke+C4 >>rmcphe+P5 >>bdisra+y7
3. simula+x1[view] [source] 2015-12-12 14:53:36
>>cresha+(OP)
Not all auto-completions are equal. I have felt that Intellij's auto-completion is far superior to vim's YouCompleteMe.

There are many other advantages like out of the box support for a lot of common use cases like refactoring, navigation, build tool support, reuse common shortcuts like Control-C Control-V for copy-paste etc.

I would definitely advice new engineers coming into languages like Java to pick up an IDE like Intellij instead of vim.

replies(1): >>Robopr+yg
◧◩
4. to3m+G1[view] [source] [discussion] 2015-12-12 14:55:49
>>izacus+j1
For C/C++ and emacs, try rtags: https://github.com/Andersbakken/rtags

It's clang-based, so suffers from none of the tags-type issues: it's context-sensitive, and can see straight through gnarly stuff such as identifiers generated by token pasting.

Good points:

- Only mildly fiddly to set up

- Code browsing works well

- Code completion works well when it works

- Cute gcc/g++/etc. wrapper trick means you don't have to change any build settings

Bad points:

- Making it work with code you haven't built yourself on your local system (e.g., 3rd party stuff that's not complete, code for another platform) is less straightforward

- Code completion sometimes doesn't work with certain files (and for no reason that I've ever been able to figure out)

- It's probably my own limitations but I found it extremely inconvenient to debug (internally it's surprisingly complicated: separate client and server, lots of lengthy command lines, client code writes elisp code to stdout and elisp in emacs eats it up, the actual completion popup is a separate package, etc.)

◧◩
5. DrJoke+C4[view] [source] [discussion] 2015-12-12 15:56:39
>>izacus+j1
I never managed to get it working in vim, but you can get pretty decent auto Go completion (with Go oracle) in Emacs.
◧◩
6. rmcphe+P5[view] [source] [discussion] 2015-12-12 16:18:59
>>izacus+j1
For go auto completion in vim, vim-go with youcompleteme works well for me. It's not tags-based, based on the source AST, shows method signatures as well.
◧◩
7. bdisra+y7[view] [source] [discussion] 2015-12-12 16:48:21
>>izacus+j1
Cider (for Clojure) and Ensime (for Scala) give you excellent support for auto-completion, documentation, and refactoring in Emacs. It's definitely possible, so it probably just depends on how popular Emacs/Vim are in your language community.
◧◩
8. Robopr+yg[view] [source] [discussion] 2015-12-12 19:35:26
>>simula+x1
Intellij with vim plugin :-)

I like how you can use command keys to quickly toggle on and off the project file and current-file's-components browsers, leaving the "distraction free" * editor window for much of your work.

* yeah, there's a mode with this name that auto-wacks ALL the supplemental panels, AND the window frame. I don't usually go that far, but it does show that they "get it" as far as what many of us IDE resisters disliked.

[go to top]