zlacker

[parent] [thread] 8 comments
1. Brando+(OP)[view] [source] 2015-12-12 14:16:35
I wouldn't jump to that conclusion unless I observed how people use it in real-time.

For verbose languages, you can't beat auto-completion and auto-import.

replies(1): >>cresha+d
2. cresha+d[view] [source] 2015-12-12 14:19:17
>>Brando+(OP)
> 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+w1 >>simula+K1
◧◩
3. izacus+w1[view] [source] [discussion] 2015-12-12 14:47:58
>>cresha+d
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+T1 >>DrJoke+P4 >>rmcphe+26 >>bdisra+L7
◧◩
4. simula+K1[view] [source] [discussion] 2015-12-12 14:53:36
>>cresha+d
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+Lg
◧◩◪
5. to3m+T1[view] [source] [discussion] 2015-12-12 14:55:49
>>izacus+w1
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.)

◧◩◪
6. DrJoke+P4[view] [source] [discussion] 2015-12-12 15:56:39
>>izacus+w1
I never managed to get it working in vim, but you can get pretty decent auto Go completion (with Go oracle) in Emacs.
◧◩◪
7. rmcphe+26[view] [source] [discussion] 2015-12-12 16:18:59
>>izacus+w1
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.
◧◩◪
8. bdisra+L7[view] [source] [discussion] 2015-12-12 16:48:21
>>izacus+w1
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.
◧◩◪
9. Robopr+Lg[view] [source] [discussion] 2015-12-12 19:35:26
>>simula+K1
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]