Every IDE I've tried fails to provide code-completion when something template-related is used. For example,
boost::shared_ptr<Object> ptr;
ptr->[cursor is here]
Is there IDE that can provide code completion in this case?
Actually this is a fairly simple template use-case, Qt Creator can handle this easily and more complex template code aswell.
Visual Studio with Visual Assist X handles that case, but still fails more complex code.
I've always use Eclipse C/C++ IDE. It supports code completion as well :)
G'day,
As an aside, I'd highly recommend Scott Meyers's excellent "Effective STL" book.
Item 49 "Learn to decipher STL-related compiler diagnostics" is worth the price of admission alone! The info therein is also applicable to decoding complex template related diagnostics beyond STL, e.g. for Boost.
Have fun.
BTW +1 for an interesting question.
cheers,
Eclipse + the CDT plugin will handle this as well as the other tools mentioned
Visual Studio 2010 has significantly improved in this area. There is an open beta going on, you should check it out.
This works in Eclipse CDT, but you may have to explcitly set the include paths under Project->Properties->C/C++ General->Paths and Symbols. Under my env. I had to dig down and explicitly add the include\c++\4.2.1 and include\c++\4.2.1\m68k-elf. Just having the directory specified to the cross compiler root \include did not allow content assist to work. Of course once you add the directories, rebuild the index.
You might need to check your Windows->Preferenes->C/C++->Indexer Cache Limit settings and increase them if they are too small. I have mine set to a max of 256MB.
I believe Slickedit (http://www.slickedit.com) handles this pretty well.
Netbeans sometimes gets it right, but not always. It's non-deterministic: seemingly similar code may get parsed, or not, depending on the whim of the IDE.
来源:https://stackoverflow.com/questions/1992147/is-there-a-c-ide-which-handles-templates-well