是否有一个支持C++的IDE,可以非常智能地搜索引用?我所说的“引用”是指类(或其成员)、变量、函数在整个项目或工作区中的使用。
有很多IDE提供它。他们中的一些似乎只是搜索同名文本,给出了很多东西,而其他人则更聪明,可以检查上下文(比如类边界、命名空间),但不够精确。
到目前为止,我尝试过的最好的是,但仍然有更多的希望。
class C1
{
int foo;
};
class C2
{
int foo;
};例如,在这种情况下,在搜索C1::foo引用时,我不希望C2::foo也显示出来。
那么,有一个IDE会是如此聪明吗?
Edit2
到目前为止,每个人都知道答案。
我尝试了Eclipse,参考搜索似乎比较好,但是索引中等大小的项目需要20分钟,5的4倍,它会耗尽内存和崩溃。我试着增加它和其他一些建议,它得到了一些更好的,但仍然相当缓慢和恼人的这些崩溃。
我尝试了KDevelop3,但是这个问题中提到的特性并不是很高级--似乎只是非常高级的基于grep的文本搜索。
Edit4
KDevelop4 --我试着让它工作,但是最近的测试版--它对于定制的makefile项目来说是很难用的,我无法用它做任何事情。
Edit5
我很惊讶,但是QT Creator在我的测试中做得很好。它似乎没有创建一些标记/索引文件,但不知怎么地,它能够非常精确地显示变量/函数/类的使用情况。不幸的是,当遵循函数的定义时,模板似乎不能很好地工作。
上面提到的IDE中没有一个能在使用引用、虚拟函数等方面与Visual竞争。question是最接近的,所以我会选择它作为我的问题的答案。
发布于 2010-03-26 09:53:16
我觉得Qt-造物主能帮你。在新的预览2.0中添加了很少的新功能。
发布于 2010-03-25 09:57:57
我认为您可以使用月食,主要是我认为它将能够做您想做的事情,或者几乎足够了。此外,在这里‘还简要介绍了它的搜索选项。
发布于 2010-03-25 10:03:59
不,我认为我们永远不会看到像C#或Java编辑器中的实现那样好的实现,原因有两个:
1)预处理器:
#ifdef _DEBUG
#define FOO(x) C1(x).foo
#else
#define FOO(x) C2(x).foo
#endif2)模板:
template<class C> void Method(C const& c) {
printf("%d", c.foo);
}在这两种情况下,很难确定实际引用的是哪个类。
https://stackoverflow.com/questions/2514350
复制相似问题