Christian Mayer writes:

 > So stuff like syntax higlighting, keyword completion, integrated
 > debugger,

I get all of this in Emacs or XEmacs.  I'm sure other programmers'
editors support it as well.  M-x gdb starts a debug session for
FlightGear, and I get a source-level walkthrough in Emacs while the
program is executing.

 > automatic view of different versions of the same function
 > (e.g. foo(int bar), foo(int bar_1, double bar_2)), ...,

There are Emacs packages for this stuff (and class browsers, etc.),
but I find etags efficient enough.

 > as well as the "overview" stuff I talked above. That's stuff like
 > where you've got with MSVC all parts of the project (in our case
 > the different directories) in a window, where you can easily browse
 > through the structure.

This is the main reason that I'm not willing to try a non-Emacs IDE.
In Emacs, the command M-x cvs-status gives me a single-window view of
the entire FlightGear CVS tree, while M-x cvs-examine shows me only
files that need attention (need to be updated, have been modified,
have conflicts, etc.).  Without this functionality, I would have to
work very hard to check in patches from various contributors and to
figure out what was going wrong when something broke.  I have not yet
seen this level of CVS integration in any non-Emacs-based IDE, but I
haven't looked that hard.

The other important thing for me is etags.  Let's say that I need to
replace every instance of SGPropertyNode with SGNewPropertyNode in the
FlightGear project tree.  I just type M-x tags-query-replace, and
Emacs walks me though every file in the project, giving me the
opportunity to replace each example or leave it be (or edit it by
hand).  With etags, I can make changes in seconds that would take
minutes or hours without it (knowing regular expressions helps a lot).

Of course, during compilation Emacs will automatically step through
warnings and errors, bringing me to the exact line in the source file
for each one, but there's nothing exciting about that.

 > Or the posibility to go directly to the declaration or definition of a
 > function just by using a entry in the context sensitive menu.

There's an Emacs package for that (I don't remember the name), but
again, etags is good enough for me.

 > All that should come together with easy to use standard features (search
 > in current file, search in all project relevant files, replace, auto
 > indent (and re-auto indent for selected code), ...

Yep, yep, yep.

On the down side, Emacs takes a while to learn; on the up side, once
you've learned it, you can do anything you want extremely fast (I've
amazed customers during onsite visits by making complex changes to
large programs or document collections in less than a minute where
they'd budgetted days for the work).


All the best,


David

-- 
David Megginson, [EMAIL PROTECTED], http://www.megginson.com/

_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to