C ++ IDE for Linux with smart link finder

Is there an IDE that supports C ++ with REALLY smart link lookups? By “reference” I mean the use of a class (or its member), variable, function in the entire project or workspace.

There are many IDEs providing it. Some of them seem to be just looking for text with the same name, providing a lot of things, others are smarter and checking the context (e.g. class boundaries, namespace), but not accurate enough.

The best I've tried so far is Visual SlickEdit, but there is still something to wish for.

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

For example, in this situation, when looking for links C1::foo I DO NOT want to show C2::foo .

So is there an IDE that would be so smart?

Edit2

10x each for the answers so far.

I tried Eclipse , link lookups seem relatively good, but it takes 20 minutes to index a medium-sized project, and 4 times out of 5 is out of memory and crashes. I tried to increase it and some other tips, and it improved a bit, but still rather slow and annoying with these crashes.

I tried KDevelop3 , but the function mentioned in this question is not very advanced - it seems to be a very advanced grep based text search.

Edit4

KDevelop4 . I tried to get it working, but the latest beta is pretty unsuitable for custom makefile projects. I could not do anything about it.

Edit5
I was surprised, but QT Creator did an excellent job with my tests. It does not seem to create some tag / index files, but somehow manages to show very accurately the use of variables / functions / classes. Unfortunately, it does not seem to work very well with templates when following function definitions.

None of the IDEs mentioned could compete with Visual SlickEdit when working with links, virtual functions, etc. QT Creator was the closest, so I will choose it as the answer to my question.

+6
c ++ linux ide
source share
7 answers

I think Qt-Creator can help you. The new preview 2.0 has several new features.

+2
source share

I think that you could use Eclipse , basically I think that he will be able to do what you want, or almost enough, Also here is a brief description of his search options.

+3
source share

No, and I don’t think we will ever see implementations that are as good as in C # or Java editors for two reasons:

1) preprocessor:

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

2) templates:

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

In both cases, it is difficult to determine which class is actually referenced.

+1
source share

Have you ever tried Netbeans. A close competitor to Eclipse has all its features, such as web development, mobile applications, plugins, which almost allow you to do something. All this with less processor and memory. And that resolves the name correctly.

+1
source share

I did not use KDevelop myself, but I get the impression that he is doing a serious analysis of the source code and is capable of accessing information about the source code, although an editor. It has at least some advanced code helper function .

0
source share

You need to try KDevelop 4, not the old one.

0
source share

You can see CodeBlocks [ http://www.codeblocks.org/] . I just started using it, but did not check your requirements. Therefore, I do not require 10X now. But you can try. Its open source and good.

0
source share

All Articles