4 ms·
I'm a bit confused about "Jump to source" being such a big deal for a vim user. What exactly is wrong with tags or cscope ? No I'm not being facetious, I reall
by chetanahuja 14y ago
I'm a bit confused about "Jump to source" being such a big deal for a vim user. What exactly is wrong with tags or cscope ? No I'm not being facetious, I really want to know what extra functionality you get with your IDE that you were not getting with proper use of tags/cscope ?
I've used various versions of emacs over the years for most of my programming (mostly C/C++ with some sprinkling of python and java). I've recently had to use Eclipse for Android dev. I agree that it'd be almost impossible to integrate the entire GUI dev framework of Eclipse Android environment in emacs (not to mention continuous compiles and other java-firic features) and that's the reason I use Eclipse for Android.
But "Jump to Source" ? Emacs is a far better and faster experience for me when it comes to trolling around in big, unfamiliar code-bases. The small subtle lags with eclipse (it's not as bad now with my monster new dev machine with 16G of ram) still irritate me. And the Emacs keybindings are almost there but not quite.. which is another big reason I've resisted IDE's. They're just slower for actual editing of code. Always. Without fail.
- to3m 14y agoI haven't used cscope. Perhaps it's amazing, but the home page suggests that it works for C++ only because it's a bit slack about its parsing of C. So I'm guessing not. Regarding ctags, it's useful enough, but it doesn't do a great job of things like jumping to the definition of the "flags" part of "p->flags", if you've got lots of structs that have a "flags" in them. Same goes for member functions. It's absolutely no fun trying to find out what something is, and just getting a list of every single thing of that name in your program. Thanks ctags... but I actually know how to use grep. And if I used grep, I'd get a callers list too. I found ctags workable, but overall disappointing.
- green7ea 14y agoClang should change this pretty soon. They make code analyses much easier (they let you use their parsed data) and enable things like code highlighting, code completion and jump to declaration. A good use of this for vim is YouCompleteMe (https://github.com/Valloric/YouCompleteMe https://github.com/Valloric/YouCompleteMe).
- to3m 14y agoYes. Expect an entire cohort of people who previously scoffed at the value of such things to start embracing it with both hands! (And rightly so, because this stuff is just super useful, and it can be done so much better then ctags, or, god help us more, grep.) May clang cause people to expect more from their tools.
- chetanahuja 14y agothe home page suggests that it works for C++... Are you referring to this line: "The fuzzy parser supports C, but is flexible enough to be useful for C++ and Java" I think you might be misinterpreting the wording there. It's called "c"scope because it was initially written for C and C only. The line above is suggesting that it also has support for C++ and Java (because it has a "fuzzy" parser... whatever that means).