MonoDevelop 2.0 Released
The MonoDevelop team is proud to announce the release of MonoDevelop 2.0.
MonoDevelop is a GNOME IDE primarily designed for C# and other .NET languages. MonoDevelop enables developers to quickly write desktop and ASP.NET Web applications on Linux. MonoDevelop makes it easy for developers to port .NET applications created with Visual Studio to Linux and to maintain a single code base for all platforms.
New Features
Summary
This new version of MonoDevelop comes with plenty of new features. Here is a summary:
- Project management
- Native support for the MSBuild format, with support for multiple target frameworks, and a new project model which allows managing several solutions at the same time.
- Per-project/solution policies.
- Vala support.
- Workbench
- Support for multi-selection in the solution pad.
- Pad/document switcher.
- Go to File dialog with support for acronym matching.
- New assembly browser.
- Web development
- Better support for code completion.
- Path bar and document outline.
- Source code editing
- Improved code completion, with C# 3 support.
- New managed text editor with support for code folding, split view, colour schemes and incremental search bar.
- vi modes support.
- Document outline pad for C# files.
- Improved Xml editing experience.
- Integrated debugger
- Integration of MDB (for debugging Mono applications) and GDB (for debugging native applications).
- Improvements in most of the existing features, including Version Control integration, the Gtk# visual designer, and many others.
Project Management
Per-Project/Solution Policies
Many of the settings that were previously only available in the user’s global preferences can now be set per-solution and per-project. Those settings are grouped in what we call policies.
Policies include:
- Text style: tabs to spaces, tab width, etc.
- Standard header
- Default namespaces for projects’ directories
- Resource naming styles
- Commit message formatting
- ChangeLog location and formatting
Policies can be applied to solutions, and can be overridden on child projects or solution folders.
The default policies for new solutions, or solutions without policies applied, can be edited in the Edit->Default Policies dialog.
Vala Add-in
The new Vala project type allows managing, editing, and compiling Vala code (using valac). The compilation is configurable, including define symbols, linked libraries, custom VAPI paths and arbitrary additional arguments.
Integration with Vala’s API binding system allows users to easily reference packages like SDL, DBus, or libsoup. Library projects produce VAPIs for use with Vala, as well as pkg-config files for use with C and other languages.
Class pad browsing is supported via exuberant ctags, as is limited code completion.
IDE Workbench
Multi-selection in the solution pad The solution pad now supports multi-selection. Operations such as copying, moving and deleting files and folders can now be done for several files or folders at once. |
|
Go to File Dialog The Go to File/Type dialog has been greatly improved. It now supports acronym matching. The filtering algorithm tries to find the best match, not only by searching substrings, but also by splitting the search string in several parts and trying to match them through all the words that compose the string being checked. |
|
Assembly Browser The new assembly browser allows inspecting the contents of an assembly. It can display type and member definitions, and the IL of methods. |
|
Code Metrics add-in The Code Metrics add-in scans a project and provides basic statistics about line counts and source code licenses. |
Web development
This new release of MonoDevelop makes editing and deploying websites easier than ever.
Other Changes
- MonoDevelop’s ASP.NET web projects are now compatible with Visual Studio 2008 and Visual Web Developer 2008 SP1
- CodeBehind partial designer classes are now updated only if needed, improving build time.
- HTML code completion is now available for HTML files as well as ASP.NET documents.
- ASP.NET code completion better supports child controls and custom controls. Tags in standalone HTML documents are now autocompleted.
Source code editing
MonoDevelop 2.0 has a new text editor component written from the ground up in managed code, and this has enabled the addition of many advanced features.
Integrated Debugger
This is the first MonoDevelop release that includes support for debugging. There is support for two debuggers: MDB (the Mono debugger, which allows debugging managed applications), and GDB (which allows debugging native applications).
Here is a list of the supported features (not all features are supported in both debuggers):
- Step by step debugging.
- Variable and field value inspection, with support for drill-down, and value editing (with code completion).
- Process Attach/Detach (only GDB).
- Disassembly view, mixed with source code view when available.
- Call stack and threads window.
- Debug tooltip in the editor. It shows the value of variables in a tooltip, with support for drill-down and value editing.
- Expression evaluator.
- Support for breakpoints. Adding, removing, enabling, disabling.
- Tracepoints, hitpoints, and conditional breakpoints (only GDB).
Version Control
Version Control support has been improved with some new features:
- Added support for locking/unlocking files.
- Implemented support for the Resolve Subversion command.
- Implemented support for the Revert to Revision command.
Gtk# Visual Designer
- Custom widgets can now easily be made available in the toolbox by just applying a [ToolboxItem] attribute to the class
- Designed windows and dialogs now expose a private Gtk.UIManager field to get access to the action based UI elements.
- Better support for moving files. When moving a window or widget implementation from one project to another project, the design will also be automatically moved
Other Improvements
Getting MonoDevelop
Instructions about how to get MonoDevelop are available in MonoDevelop’s Download page.
Credits
Contributors
Aaron Bockover, Alberto Paro, Alejandro Serrano, Alexandre Gomes, Alex Graveley, Andrés G. Aragoneses, Andre Filipe de Assuncao e Brito, Antonio Ognio, Ankit Jain, Ben Maurer, Ben Motmans, Christian Hergert, Daniel Kornhauser, Daniel Morgan, David Makovský, Eric Butler, Erik Dasque, Franciso Martinez, Geoff Norton, Gustavo Giráldez, Iain McCoy, Inigo Illan, Jacob Ilsø Christensen, James Fitzsimons, Jeff Stedfast, Jérémie Laval, Jeroen Zwartepoorte, John BouAnton, John Luke, Joshua Tauberer, Jonathan Hernández Velasco, Levi Bard, Lluis Sanchez Gual, Marc Christensen, Marcos David Marín Amador, Martin Willemoes Hansen, Marek Sieradzki, Matej Urbas, Maurício de Lemos Rodrigues Collares Neto, Michael Hutchinson, Miguel de Icaza, Mike Krüger, Muthiah Annamalai, Nick Drochak, nricciar, Paco Martínez, Pawel Rozanski, Pedro Abelleira Seco, Peter Johanson, Philip Turnbull, Richard Torkar, Rolf Bjarne Kvinge, Rusty Howell, Scott Ellington, Thomas Wiest, Todd Berman, Vincent Daron, Vinicius Depizzol, Wade Berrier, Yan-ren Tsai and Zach Lute.
This list may not be complete, some contributors who sent patches by email or via our bugzilla may be missing. Your work is still greatly appreciated. If your name was left off the list, it was not intentional, please send an email to the MonoDevelop mailing list and it will be corrected as soon as possible.
Translators
Catalan | Jonathan Hernández Velasco, Jordi Mas i Hernández |
Czech | David Makovský |
Danish | Martin Willemoes Hansen, Jacob Ilsø Christensen |
German | Mike Krüger, Gustav Schauwecker, Martin Dederer |
Spanish | Antonio Ognio, Alejandro Serrano, Andrés G. Aragoneses |
French | Vincent Daron, Nicolas Favre-Félix |
Galician | Ignacio Casal Quinteiro |
Hungarian | Bálint Kriván, Gergely Kiss |
Indonesian | Fajrin Azis |
Italian | Alberto Paro, Milo Casagrande |
Japanese | Atsushi Eno |
Dutch | André Offringa |
Polish | Marek Sieradzki |
Portuguese | Vitor Hugo Barros |
Portuguese (Brazil) | Mauricio de Lemos Rodrigues Collares Neto, Andre Filipe de Assuncao e Brito, Rafael Teixeira |
Russian | Maxim Krentovskiy, Semyon Soldatov, Daniel Abramov |
Slovenian | Matej Urbas |
Swedish | Daniel Nylander |
Turkish | Enver Altin |
Chinese (China) | Yu Lindong, Funda Wang |
Chinese (Taiwan) | Yan-ren Tsai |
Thanks
To all of our wonderful testers, who had the patience to use unstable versions of MonoDevelop for everyday use, and managed to post nice bug reports.
To Mike Krüger and the rest of the AlphaSierraPapa team for giving us a great codebase to start from, and continuing improvements.
To Pedro Abelleira, Todd Berman, John Luke, and other early contributors who started this adventure 4 years ago, and who believed in the feasibility of the project.
To all of the active and not so active (we miss you!) MonoDevelop developers.