3 ms·
At least for C, with GNU Global I can jump around Linux Kernel effortlessly, while I put it into VS and VS just hanged. For C++, well hopefully we have some ne
by tuhdo 12y ago
At least for C, with GNU Global I can jump around Linux Kernel effortlessly, while I put it into VS and VS just hanged.
For C++, well hopefully we have some new language to replace it in the future. But at least for jumping to symbol definitions/references, it shouldn't be a problem with GNU Global. For code completion, you can still use `company-gtags` to get completion symbols in your project. It's really simple. I know it's not really intelligent (i.e. only show completion candidates in current namespace), but instead throw you everything, but it's practical enough.
- to3m 12y agoContext sensitivity is really important for C++, I've found, both for navigation and completion. C++ code uses struct/class members a lot, both functions and variables, and it's common for member functions to share names. That's how the virtual mechanism works, of course, and it's also commonly used to make classes useful as template parameters. (For a long time, this kept me using Visual Studio+Visual Assist - which is OK - and Xcode - which is... mostly bearable - in preference to emacs. Everybody's different, but personally I get more value from good quality code completion and navigation than I do from emacs-quality text editing. Particularly true when I can load files into emacs if I need to do anything particularly advanced (mainly keyboard macro stuff or fancy elisp search/replace). Fortunately rtags + company mode have shuffled the tradeoffs around a bit, so I'm pretty comfortable with using emacs all the time now.) Probably easier to get away without this stuff in C code, though personally I'd probably still get annoyed by the lack of intelligence in completing names of struct members.
- tuhdo 12y agoYou can have decent smart completion in C++ like this: http://tuhdo.github.io/static/c-ide/semantic-boost-demo.gif http://tuhdo.github.io/static/c-ide/semantic-boost-demo.gif Semantic is the equivalent to Intellisense in Visual Studio, though it's less smart on C++ code since C++ moves fast wiht its standard. > Probably easier to get away without this stuff in C code, though personally I'd probably still get annoyed by the lack of intelligence in completing names of struct members. Semantic or company-clang can give you code completion of struct members, and even nested struct.