zlacker

[parent] [thread] 4 comments
1. izacus+(OP)[view] [source] 2015-12-12 14:47:58
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+n >>DrJoke+j3 >>rmcphe+w4 >>bdisra+f6
2. to3m+n[view] [source] 2015-12-12 14:55:49
>>izacus+(OP)
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.)

3. DrJoke+j3[view] [source] 2015-12-12 15:56:39
>>izacus+(OP)
I never managed to get it working in vim, but you can get pretty decent auto Go completion (with Go oracle) in Emacs.
4. rmcphe+w4[view] [source] 2015-12-12 16:18:59
>>izacus+(OP)
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.
5. bdisra+f6[view] [source] 2015-12-12 16:48:21
>>izacus+(OP)
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.
[go to top]