我尝试过的每个IDE都无法在使用与模板相关的内容时提供代码完成功能。 例如,
boost::shared_ptr<Object> ptr;
ptr->[cursor is here]
在这种情况下是否有可以提供代码完成的IDE?
答案 0 :(得分:7)
使用Visual Assist X的Visual Studio处理这种情况,但仍然无法使用更复杂的代码。
答案 1 :(得分:6)
实际上这是一个相当简单的模板用例,Qt Creator可以轻松处理这个更复杂的模板代码。
答案 2 :(得分:4)
我一直使用Eclipse C/C++ IDE。它也支持代码完成:)
答案 3 :(得分:2)
天儿真好,
顺便说一句,我强烈推荐Scott Meyers的优秀“Effective STL”书。
项目49“学习解密与STL相关的编译器诊断”仅值得入场的价格!其中的信息也适用于解码超出STL的复杂模板相关诊断,例如,对于Boost。
玩得开心。
BTW +1是一个有趣的问题。
欢呼声,
答案 4 :(得分:1)
Eclipse + CDT插件将处理此问题以及提及的其他工具
答案 5 :(得分:1)
Visual Studio 2010在这方面有了显着改进。有一个公开测试版,你应该看一下。
答案 6 :(得分:1)
这适用于Eclipse CDT,但您可能必须在Project-&gt; Properties-&gt; C / C ++ General-&gt; Paths and Symbols下显式设置包含路径。在我的环境下我不得不深入挖掘并明确添加include \ c ++ \ 4.2.1并包含\ c ++ \ 4.2.1 \ m68k-elf。只是将目录指定给交叉编译器root \ include不允许内容辅助工作。当然,添加目录后,重建索引。
您可能需要检查Windows-&gt; Preferenes-&gt; C / C ++ - &gt; Indexer Cache Limit设置,如果它们太小,请增加它们。我的设置最大为256MB。
答案 7 :(得分:0)
我相信Slickedit(http://www.slickedit.com)处理得非常好。
答案 8 :(得分:0)
Netbeans有时会做对,但并非总是如此。这是非确定性的:看似相似的代码可能会被解析,或者不会被解析,具体取决于IDE的特殊性。