In addition to the Mono Debugger (MDB), I also have spent some time improving the GDB integration. We now have support for expression evaluation, which can be used in conditional breakpoints and tracepoints. The debugging service in MonoDevelop is extensible, so we can plug support for different debuggers into it. I hope we can add support for debugging other non-.net based languages in the future.
Anyway, here is a screenshot of a debug tooltip in a GDB debug session:

The other big improvement in alpha 2 is the new code completion engine, on which Mike Krueger has been working. The new engine supports "aggresive" code completion, which means that the completion window will be shown in any context by just typing the first char of an identifier. It also has some nice features such as automatic insertion of event handlers or anonymous methods when completing an event subscription. In addition, the C# parser has been upgraded to support C# 3, and we already support some of the new C# features, such as completion of extension methods. The new engine still needs polishing and performance improvements, but it is looking great.

Michael Hutchinson has done a great job improving the editing experience for ASP.NET, HTML and XML files. There is better support for code completion and CodeBehind files. Compatibility with Visual Studio 2008 has improved, and we now have preliminary support for creating Moonlight projects. Many hackers will also be interested in the new vi mode that has been implemented for the text editor.
The GTK# designer has also some improvements. Mike Kestner became the maintainer of the designer some months ago, and he's been learning about the inner workings, and doing some fixes and improvements. One of the main changes is the simplification of the GTK# settings panel. It is not necessary to explicitly enable GTK# support on projects in order to use the designer. Now it can be done by just adding a reference to GTK#. Also, exporting a widget so it can be used in another project is as simple as applying a [ToolboxItem] attribute to the widget class.
Ankit Jain did a great job with the new Override/Implement dialog, which allows to easily implement members defined in a base class or interface. Here is a screenhot:

Ankit is now working behind the scenes to complete xbuild, our MSBuild implementation. The mid term plan is to replace MD's build system by xbuild, but this won't happen before MD 2.0.
There are many other improvements in version control support, project management and others, but you'll have to take a look at the release notes to know more.
In the following weeks we are going to focus on bug fixing, and we plan to release a 2.0 Beta 1 soon (the plan was to release before Christmas, but holidays may not permit it). In the meanwhile I hope you find alpha 2 useful and file any bug you can find so we can fix it to make MD 2.0 an awesome release.
View comments