views:

105

answers:

3

Hi all..

I need a C/C++ source code editor (for Linux) which has Source Insight's features, such as:

  1. Context window : when our cursor is above variable/class/function, the context window will display the declaration of that variable/class or the implementation body of that function
  2. Ctrl+Click at any variable/class/function, it will jump to the declaration/implementation of that variable/class/function
  3. Relation window : to display function call graph or class tree diagram
  4. Database of local symbols : to list all functions or class' members & class' methods

I have tried using CodeBlocks and Eclipse, but they can't deliver coding satisfaction as I used Source Insight. FYI, for temporary solution, I run Source Insight above Wine :)

So.. with those features, do anyone here have suggestion what source code editor I should try to use ?

Thanks in advance.

+2  A: 

I am sure you can get close to get all those functionalities with VI + plugins.

Some references:

VI C++ code completion

Introduction to Programming in C/C++ with Vim

And another one that explains why VI

msalvadores
+1 Vim really is the best choice.
Octavian Damiean
+3  A: 

I run Source Insight under wine too, and that became a more or less permanent solution.

If you're patient enough then various flavours of emacs become much faster to use than pretty GUI based tools but that's a personal choice.

Toby Martin
+1  A: 

I realize you probably meant to specify "free", but for a commercial tool I really like Understand for C++. That tool excels at helping make sense of a pre-existing code base, showing all the information you've specified and much more, and is a nice editor too. However, it lacks refactoring tools. If you want to rename a variable, for example, at present it effectively finds every flat match and presents them in a gui for you to accept or not, which at least finds instances within comments. That can feel cumbersome if you're used to how smoothly Eclipse lets you rename a variable.

If you want refactoring tools, a good commercial choice is SlickEdit, but SlickEdit doesn't make call trees and control flow graphs. Understand keeps a comprehensive database, which takes more time to update so you need to occasionally tell it to re-parse your files, while SlickEdit keeps less information and is able to update itself on the fly.

jasper77