繁体   English   中英

适用于Linux的C ++ IDE,具有智能参考搜索功能

[英]C++ IDE for Linux with smart reference searching

有没有一个IDE支持C ++,真的很容易搜索引用? “引用”是指在整个Project或Workspace中使用类(或其成员),变量,函数。

有很多IDE提供它。 其中一些似乎只是搜索具有相同名称的文本提供了大量的东西,其他更聪明并检查上下文(如类边界,命名空间)但不够准确。

到目前为止我尝试过的最好的是Visual SlickEdit,但还有更多希望。

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

例如,在这种情况下,当搜索C1::foo引用时,我也不希望显示C2::foo

那么,有一个IDE会如此聪明吗?

EDIT2

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

我尝试过Eclipse ,引用搜索似乎相对较好,但它需要20分钟来索引中等大小的项目,并且需要4次5才能耗尽内存和崩溃。 我尝试增加它和其他一些建议,它有一点好转,但仍然非常慢和烦恼与这些崩溃。

我试过KDevelop3 ,但这个问题中提到的功能不是很先进 - 似乎只是非常先进的基于grep的文本搜索。

Edit4

KDevelop4 - 我试图让它工作,但最新的测试版它对于自定义makefile项目来说是无法使用的,我无法用它做任何事情。

Edit5
我很惊讶,但QT Creator在我的测试中表现得非常好。 它似乎没有创建一些标记/索引文件,但以某种方式设法非常精确地显示变量/函数/类的用法。 不幸的是,当遵循函数定义时,模板似乎无法正常工作。

所提到的IDE都不能与Visual SlickEdit竞争使用引用,虚函数等.QT Creator是最接近的,所以我会选择它作为我的问题的答案。

我认为你可以使用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);
}

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

我认为Qt-Creator可以帮到你。 新预览2.0中添加了一些新功能。

你有没有试过Netbeans? 关闭Eclipse的竞争对手,它具有Web开发,移动应用程序ide,插件等所有功能,几乎可以做任何事情。 所有这些都具有较低的CPU和内存占用。 它确实正确地解析了名称。

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

你必须尝试KDevelop 4,而不是旧版。

您可以查看CodeBlocks [ http://www.codeblocks.org/] 我刚开始使用它,但没有根据您的要求进行测试。 所以我现在不要求10X。 但你可以尝试一下。 它的开源和良好的一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM