[MonoDevelop] Managed Line Editor

Lluis Sanchez lluis at ximian.com
Sun Oct 29 18:01:26 EST 2006


El dg 29 de 10 del 2006 a les 14:41 +0100, en/na Matej Urbas va
escriure:
> Hi
> 
> for a long time now, I've been planning to somehow improve MD's source
> editing experience with various kinds of coding assistance techniques.
> Still, I have been only investigating - I have yet to do some coding...
> 
> I have looked into various IDEs: Eclipse, NetBeans and VS.NET 2005, and
> the first thing I noticed about them is that they all have specially
> crafted editors - to perfectly integrate into the IDE and to suit all
> their needs.
> 
> Also, for a while, I've been looking into GtkSourceView's internals - in
> order to help adding new features we'd need at MonoDevelop... Soon it
> became clear that I'd have to be a dedicated GTK expert to even dare
> dream about adding any kind of new features (not to mention the effort
> needed to make new features available to Mono apps)... Anyways, I don't
> see myself working on GtkSourceView - ever...
> 
> However, I'm more and more fond of the idea to create an editor designed
> specifically for MonoDevelop (or any other Mono app).
> 
> Create a source editor with GTK# and Pango? Take a look at how
> SharpDevelop's, NetBeans' or Eclipse's (my favourite) editors manage
> things? Better integrate parsers with editors?
> 
> Lluis, is this a sane idea?

Having a managed editor has advantages and disadvantages. The advantages
are that we can extend the editor and implement all functionality we
need, and that we avoid yet another native dependency. The disadvantages
are that the editor may not be as snappy as GtkSourceView, and it will
take time until it has the same degree of stability.

The fact is that the first editor that MD had was a port of the #D
editor. You can still find the code in SVN, under Unused/TextEditor.
After some months the editor was replaced by GtkSourceView. I think the
main reason was that GtkSourceView had most of the features that the #D
editor had, and it was already maintained by the GNOME project, so all
the development effort could then be focused on the IDE. It's a matter
of resource economy, GtkSoruceView gives a lot to MD for free. It's
better to have an editor that does, let's say 80% of what you need and
has zero cost of development and maintenance, than another that does
100% but has a big cost in maintenance. #D did not have a choice, since
Windows does not have a text editor component comparable to the
GtkSourceView editor that GNOME provides.

MD has grown a lot since then, and the need for functionality not
supported by GtkSourceView has also grown. Soon or later we'll need a
managed editor if we want to provide the remaining 20% (or whatever)
functionality, that's why it is listed in the TODO page. Working on an
editor is something I don't have in my personal work plan because I
think there are other features that give more value to MD and require
less effort, like better integration with Autotools, better support for
SVN and CVS, or a VS 2005 project importer for example. 

But hey, it doesn't mean I'm against you working on it, you are free to
work on whatever you want. If you would enjoy working on a managed
editor for MD please go ahead, and I'll be happy to get rid of
GtkSourceView when the managed editor reaches a similar level of
stability.

Lluis.






More information about the Monodevelop-list mailing list