4 ms·
Maybe not much. When working with C++ - at least in my experience - you get more use out of code navigation and code completion (two things that emacs supports
by to3m 12y ago
Maybe not much. When working with C++ - at least in my experience - you get more use out of code navigation and code completion (two things that emacs supports rather averagely, even after customization) than you do out of text editing functionality (for which emacs is excellent).
- tptacek 12y agoI don't know that I agree with this. I'm rewriting for the fourth time a blog post I wrote on auditing C/C++ code using Emacs. The combination of Helm, cscope/ascope, hi-lock, ectags, Projectile, and incremental recursive grep is pretty hard to beat. I use unobtrusive dabbrev-style completion --- I don't want popup menus with completion possibilities drawn from documentation, because Dash.app does a better job of that and is shared by all applications. I think Emacs does an at least adequate job at all the core functions of Xcode, but does some things Xcode can't do at all. (It's been a few years since I've written more than a couple thousands lines in Xcode, though.)
- to3m 12y agoDon't worry, I'm not saying Xcode isn't awful. I've just found that code navigation saves me more time than having a fancy text editor does. And even after putting some effort in, the results with emacs just aren't as good (particularly compared to effort expended) as what you get from Xcode and Visual Studio. Which is a shame, because Xcode's text editor is awful (or did I mention that already??), and Visual Studio's is crashingly average. I'd much rather use emacs. (I use company-mode, with the clang backend, and it's OK. For code navigation, currently nothing, but rtags (https://github.com/Andersbakken/rtags https://github.com/Andersbakken/rtags) is on my todo list. The README is worth a skim - it has a cute way of grabbing the list of files you're using.)
- taeric 12y agoInstead of cscope/ctages, have you tried GNU GLOBAL? I've taken my first steps with it and the ggtags mode. So far, I am finding it to be drastically better than ctags. Have I just never configured ctags correctly?
- tptacek 12y agoI didn't even know about it. This looks awesome. Highly recommend: wrap GNU GLOBAL in a web app (scrape its output, stick it in a database). We did that at Matasano (with dumber tools than GLOBAL) and not only was it incredibly useful, but shockingly, shockingly easy.
- taeric 12y agoI'm not sure what you are referring to for the web app. Are you just wanting to skin what it puts as a hypertext file already?[1] [1] http://www.tamacom.com/tour/kernel/linux/ http://www.tamacom.com/tour/kernel/linux/
- tptacek 12y agoI didn't know GLOBAL had a web interface, but we generally want search, highlight, bookmarks, and notes, in addition to clickable cross-reference popups. We used ectags and Pygments.
- taeric 12y agoMakes sense, I think. As I said earlier, I am new to GLOBAL entirely. Something I found as I was building up my new emacs setup at work. So far, I've been impressed. Not sure I'll ever care for the web interface, but the ggtags mode has been a dream. And I've really only used find-references and find-definition.
- a_e_k 12y agoI've been using GLOBAL with a slightly tweaked gtags.el for almost 5 years now. It's definitely served me well.
- wglb 12y agoDo you run into any practical size limitations?
- mangamadaiyan 12y agoLink to the post please? It should make for interesting reading.
- tptacek 12y agoIt's still sitting in Draftin.com, waiting for me to like it enough.
- deleted 12y ago[deleted]
- tuhdo 12y agoNot really. With Emacs, it makes navigating a project like Linux kernel seems a small project. You can see the demos in my other answer here: https://news.ycombinator.com/item?id=8616737 https://news.ycombinator.com/item?id=8616737 Emacs allows you to jump to anything instantly, even with source tree like Clang or Linux.