用于Linux的C ++ IDE,具有智能参考searchfunction

是否有一个IDE支持C + +真正的智能search引用? “引用”是指在整个项目或工作空间中使用类(或其成员),variables,函数。

有很多IDE提供它。 其中一些似乎只是search同名的文本给予很多的东西,其他人更聪明,并检查上下文(如类边界,命名空间),但不够准确。

迄今为止我所尝试的最好的是Visual SlickEdit,但还有更多的希望。

class C1 { int foo; }; class C2 { int foo; }; 

例如,在searchC1::foo引用的情况下,我不希望C2::foo也显示出来。

那么,有没有一个IDE会非常聪明?

EDIT2

目前为止,每个人都有10个答案。

我尝试了Eclipse ,引用search似乎相对较好,但它需要20分钟索引中等大小的项目和5的4次内存耗尽和崩溃。 我试图增加它和其他一些build议,并得到了一些更好的,但仍然相当缓慢,讨厌这些崩溃。

我试过KDevelop3 ,但是这个问题中提到的function不是很先进 – 似乎只是非常先进的基于grep的文本search。

Edit4

KDevelop4 – 我试图使它工作,但最新的testing版是非常不可用的自定义生成文件项目,我无法做任何事情。

Edit5
我很惊讶,但是QT Creator在我的testing中做得非常好。 它似乎没有创build一些标签/索引文件,但不知何故设法非常精确地显示variables/函数/类的用法。 不幸的是,当遵循函数的定义时,它似乎不能很好地与模板一起工作。

没有一个提到的IDE可以与Visual SlickEdit竞争参考,虚拟function等.QT Creator是最接近的,所以我会select它作为我的问题的答案。

Solutions Collecting From Web of "用于Linux的C ++ IDE,具有智能参考searchfunction"

我认为Qt-Creator可以帮助你。 新预览版2.0中新增了一些新功能。

我认为你可以使用Eclipse ,主要是我认为它将能够做到你想要的,或者几乎足够。 这里也是对搜索选项的简要描述。

不,我不认为我们会看到与C#或Java编辑器一样好的实现,原因有两个:

1)预处理器:

 #ifdef _DEBUG #define FOO(x) C1(x).foo #else #define FOO(x) C2(x).foo #endif 

2)模板:

 template<class C> void Method(C const& c) { printf("%d", c.foo); } 

在这两种情况下,很难确定哪个类实际被引用。

你有没有尝试Netbeans。 Eclipse的竞争对手,它拥有所有功能,如网站开发,移动应用程序IDE,插件几乎允许任何事情做。 所有这些都降低了CPU和内存占用。 它确实解决了名称。

我自己并没有使用KDevelop ,但是我得到的印象是,它对源代码进行了一些严肃的解析,并且能够通过编辑器访问源代码信息。 它至少有一些高级的代码助手功能 。

你必须尝试KDevelop 4,而不是老的。

你可以看看CodeBlocks [ http://www.codeblocks.org/%5D 。 我刚开始使用它,但没有测试您的要求。 所以我现在不是要求10X。 但是你可以试试看。 它的开源和好的一个。