15. March 2008

So, I haven’t yet written about our new release, the first one that is included in mainline GNOME. Partly motivated by Miguels’s post on MonoDevelop (which would actually share a lot of code with anjuta in case they hadn’t rewritten all the libraries in C#) I will present the new and improved features. Some were already mentioned in an older post.

Editing

Code editing is probably the most essential part of an IDE. While it’s pretty unlikely to convert people using vim/emacs to an IDE we at least try to make people happy that have used IDEs on other operating system or are coding using GEdit. There have been plenty of improvements in code completion and auto-indentation in this release and it should work pretty well for C/C++ now. We always look for people to write language-support plugins for more languages (yeah, it’s easy…). This release also features the latest and best version of GtkSourceView.

In addition we also improved the way to quickly search in a file using the new “Quick Search Bar”. (c) of this is probably from the vim/emacs and firefox developers, but why shouldn’t we copy it if it’s good!

UI Design

With this release we made a big step towards better glade integration also thanks to the glade-3 developers. The old and ugly “Glade”-menu is now gone and instead the “File” and “Edit” menu items will now also work on the opened glade file. And the glade file is displayed like any other source file in the central editor window.

The Subversion plugin was improved in many ways and it a pleasure to use now. It gives you much better control over operations then the command line frontend. You can for example select which files to commit, resolve conflicts and view logs now in the GUI:

The great work on subversion plugin was done by James Liggett (who is looking for a part-time job in case you need a talented GTK+ hacker…).

Debugger

With this release, the debugger doesn’t suck any more. You can debug your code with nearly all features available from gdb, inspect variables, set breakpoints, set watches, etc. And it’s rocking stable now and should make your live on killing bugs much easier:

Thanks!

Thanks to everyone who made this release possible, especially, Naba, Sébastien, Massimo, James, Tom, Rob and all the translator who fought this 1700 string monster (and reported all these l10n bugs).

Future

Anjuta follows the GNOME approach to try to keep things simple and our Roadmap reflects that. The goal is to make the existing features perfect before adding yet another. Of course that does not mean we are not interested in new plugins. Everybody who wants to contribute is highly welcome, especially for supporting more languages.

Correct, we did rewrite a number of libraries that used to be written in C in C# because it gave us more agility and allowed us to quickly fix bugs, fine-tune the IDE and get the desired user experience that we were looking for.

Update: as it turns out, for some reason we never used the unmanaged Gdl, someone ported that code to C# from the start. Michael Hutchinson provided some of the feedback.

Over the years there were a few issues with this port, I quote Michael:

“1. It was GPL, because it was forked before GDL was relicensed; 2. there were some issues related to crashing with certain styles due to the way it used the style object; 3. it wasn’t easily possible to implement autohide; 4. and because the pads were grouped using a GTK notebook, there was a border that we were unable to remove, and we wanted to reduce dead space in the layout. So there were a whole bunch of reasons, basically”

As to why we ported Gdl initially, it is going to be hard to track that down as Todd who seems to be the author has long left the project.