3 ms·
Context 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 va
by to3m 12y ago
Context 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.