Feature List

From $1
    Table of contents

    The following matrix shows which features are available for each platform. MonoDevelop features not shown in the list ara available for all platforms.

    C# Yes Yes Yes
    Visual Basic Yes Yes Yes
    Java (IKVM) Yes No No
    Boo Yes No
    C/C++ Yes
    Yes No
    Python Yes
    Vala Yes
    ASP.NET Project Yes
    ASP.NET MVC Project Yes
    Translation Project Yes
    iPhone Project No Yes
    Moonlight Project Yes
    GTK# designer Yes
    Yes Yes 
    Generation of Makefiles Yes
    Generation of Tarballs Yes
    Makefile Synchronization Yes
    Yes No
    Database Explorer Yes
    NUnit add-in Yes
    Subversion add-in Yes
    Help Browser (Monodoc) Yes
    Debugging (managed) Yes
    Yes Yes
    Debugging (C/C++) Yes
    ASP.NET Debugging Yes
    Yes Yes

    IDE Workbench

    Solution Pad

    • Shows the file structure of the opened solution. Most of project operations can be done in this pad:
      • Project building
      • Management of project files and folders
      • Version control
      • Editing project references
      • Running custom tools
    • Available display options: Show all files, show code-behind files.
    • To display the solution pad, click on the View/Solution menu option.

    Class Pad

    • Shows namespaces, types and members defined in the solution.
    • Available display options: Nested namespaces, group by access/member type, show public members only.
    • To display the solution pad, click on the View/Classes menu option.

    Files Pad

    • Allows browsing the file system.
    • Basic file and folder management commands.
    • To display the solution pad, click on the View/Files menu option.

    Error List Pad

    • Supports message filtering by type.
    • The context menu provides direct access to error documentation.
    • To display the solution pad, click on the "View/Error List" menu option.

    Task List Pad

    • Support for user defined tasks.
    • It shows tasks specified in source code using comment tags (FIXME, TODO, ...). Comment tags can be customized (Edit/Preferences/Task List).
    • To display the solution pad, click on the "View/Task List" menu option.

    Build Output

    • Support for output window pinning (avoids overwriting of the output if the project is built again).

    Application Output

    • Support for output window pinning (avoids overwriting of the output if the project is run again).

    Message Log Pad

    • Log of internal MonoDevelop messages.

    Welcome Page

    • Recents list.
    • Documentation links.
    • Create/Open project commands.



    • Supports the definition of new layouts of workspace pads and toolbars (View/Layouts).
    • Quick layout switch using a selector in the toolbar.

    External tools

    • The user can define custom tools to be shown in the Tools menu (Edit/Preferences/Tools/External Tools).
    • Support for project variables such as project directory, current file name, etc.
    • Prompt for arguments.

    Configurable Key Bindings

    • Support for configurable key bindings (Edit/Preferences/Key bindings).
    • Emacs and Visual Studio key bindings schemes.
    • User defined key bindings.
    • Support for multi-state key bindings.

    Project Management


    • Support for 1.1, 2.0 and Moonlight Mono runtimes (Project/Options/General/Runtime Options).
    • Support for multiple build configurations.
    • Builds required project dependencies.
    • Clean and Rebuild commands.
    • Assembly signing.
    • Command line tool for building: 'mdtool build'.


    • Option for running in internal or external console.


    • Export a project to a different folder using a different file format:
      • MonoDevelop native file format.
      • Visual Studio 2005.
    • Command line tool for exporting projects: 'mdtool project-export'.

    Custom commands

    • Custom commands can be defined for projects and solutions
    • Command hooks: after/before build, clean, execute
    • Command replacement: build, clean, execute
    • Custom commands: shown in the context menu of the solution pad.

    Generic project

    • Project type not bound to any language.
    • Can be used together with Makefile Integation and Custom Commands.

    Source Code Editing

    Find / Replace

    • Special search strategies: wildcards, regular expressions.
    • Search flags: case sensitive, whole word.
    • Search / Replace in files.
    • Support for search results list pinning (allows keeping several search results lists at once).

    Code Completion

    • Code completion of namespaces, types and members.
    • 'as' and 'new' completion.
    • Method parameter Completion.
    • C# compilation directives.

    Source Code Tooltips

    On-the-fly Error Underlining

    Indent Strategies

    • Auto indent
    • Smart indent for C#

    Standard Header

    • Allows adding a header to all new files.
    • Templates for common licences.

    Code templates

    • Bind keywords to code templates.
    • Keywords can be expanded by pressing TAB in the text editor.
    • Different sets of templates can be assigned to different file extensions.

    Refactory Operations

    • Rename class, field, method, property, event
    • Implement interface (explicit or implicit)
    • Implement overridable method, property, event

    Source Code Navigation

    • Go to base class
    • Go to declaration of class or member
    • Find references to class or member
    • Find subclasses
    • Quick search of file or type
    • Quick navigation of build errors and search results using the Browse Next/Previous command.

    Navigation History

    • History of source code location.
    • Easy navigation through the history.

    Visual Design

    GTK# Designer

    Integrated visual designer for building GTK# interfaces.

    • Allows targeting GTK# 2.4, 2.6 and 2.8.
    • Supports visual design of custom widgets.
    • Support for reusable widget libraries. Custom widgets are shown in the toolbox.
    • Dynamic reloading of custom widgets. After compiling a change in a custom widget, all design windows where the widget is being used will be automatically updated.
    • Widget library reference tracking. When new widgets are added to a design surface, the required assembly references will be added to the project.
    • Visual editing of stock icon factory.
    • Glade project import.


    • One single toolbox for all designers (GTK#, ASP.NET, etc.)
    • New items can be added by registering new assemblies.
    • The toolbar is dynamically updated to show the items available for the active file and project.
    • Two display modes: normal and compact (with no labels).
    • Widget search

    Property grid

    • One single property grid for all designers (GTK#, ASP.NET, etc.)
    • Allows editing project file properties.

    Packaging and Deployment

    Package Generation

    • Sources package: MD and Visual Studio formats (zip or tarball).
    • Binary package: Linux and Windows targets (zip or tarball).
    • Tarball based on Autotools
    • Tarball w/o Autotools (simple makefile with a basic configuration script and dependency checking).

    Generation and deployment of support files

    • .pc file for libraries.
    • .desktop for applications.
    • launch script.

    Packaging Operations

    • Packaging project: bundles together a set of packaging sources and targets.
    • Create package command: allows creating a package of any of the supported types.
    • Install command: installs a solution to the local file system.

    Makefile Integration

    Generate makefiles for a solution

    • Two kinds of makefiles:
      • based on Autotools
      • w/o Autotools (simple makefile with a basic configuration script and dependency checking).
    • Command line tool for generating makefiles: mdtool generate-makefiles.

    Makefile Synchronization

    • Allows synchronizing the list of files and references between a Makefile and a MonoDevelop project.
    • Support for dependencies defined in Autotools files.
    • Error and warning message parsing using regexes.


    Web Projects

    • Create web application for any supported language.
    • Compile web application and view in browser using xsp.
    • Project GAC references are synchronised to web.config.
    • Add new ASP.NET files:
      • Page (.aspx) with/without CodeBehind class (partial if language supports it).
      • User control (.ascx) with/without CodeBehind class (partial if language supports it).
      • Web Service (.asmx) with/without CodeBehind class.
      • Web Handler (.ashx) with/without CodeBehind class.
      • Web.config (application or subdirectory depending where it's added).
      • Master page (.master) with/without CodeBehind class (partial if language supports it) for 2.0 runtime only.
      • Global.asax file with/without CodeBehind class.
    • ASP.NET server controls added to aspx files have corresponding members automatically added to the CodeBehind class at compilation time (in the *.designer.* part if using partial classes).

    Web References

    • Browse for a web service and create web service proxies.
    • Update web service proxies.

    Translation Support

    • Translation Project: allows defining the supported languages, and the projects and files to scan for translatable strings.
    • Update of .po file.
    • Generation of .mo files.
    • .po file editor.

    Database Management

    • Explore databases
    • Execute queries and display the results inside MonoDevelop
    • Create new databases
    • Create new tables, procedures and views
    • Alter procedures and views
    • Drop databases, tables, procedures and views
    • Rename databases, tables, procedures and views


    NUnit Library Project

    NUnit Test Project

    Tests pad

    • Shows the list of tests defined in every project of the solution
    • Automatically updated when the solution is compiled.
    • Allows setting different configurations of filters based on categories
    • Navigation to source code of test cases.

    History panel

    • Keeps an history of tests runs.
    • Graphical view of successul runs and failures.
    • Comparison of tests runs. List of regressions.
    • Performance chart.

    Test results pad

    • Allows filtering for successful, failed and ignored tests.
    • Filtering of test output.

    Visual Studio Integration

    Native support for Visual Studio 2005 projects

    • The following project types can be opened and modified:
      • C#
      • Visual Basic .NET
      • ASP.NET

    Import VS 2003 project

    • Visual Studio 2003 projects can be imported and converted to the MonoDevelop or VS 2005 file formats.

    Version Control


    • Publish a project to a repository
    • Checkout a project from a repository
    • Add files or folders to version control
    • Remove files or folders from version control
    • Update, get changes from the repository
    • Log: visual display of changes done on a file or directory
    • Revert changes in a file or folder.
    • Status tracking: shows a list of all changes done in a folder, and allows entering a commit message for every change.
    • Commit changes: generates a consolided commit message from all documented changes.

    ChangeLog integration

    • Generation of ChangeLog entries from commit messages.
    • Supports updating (or creating) multiple ChangeLog files in a single commit.
    • Allows defining commit policies for every project. Commit policies specify the location of ChangeLog files:
      • One single ChangeLog at the root project directory.
      • One ChangeLog per first-level subdirectory.
      • One ChangeLog in every directory.
      • User defined.


    • Context sensitive help
    • Class documentation browser based on Monodoc

    Add-in Management

    • Installation of add-in from on-line repositories.
    • Enable/disable add-ins.
    • Command line tool for managing add-ins: 'mdtool setup' and 'mdtool gsetup'.
    • Based on Mono.Addins.

    Project Templates

    For all languages supporting CodeDOM

    • Empty project
    • Library
    • Web application
    • Empty web application.
    • NUnit library


    • GTK# project.
    • Empty project
    • Library
    • Web application
    • Empty web application.
    • NUnit library

    Visual Basic

    • Console project
    • Empty project
    • Library
    • Web application
    • Empty web application.
    • NUnit library


    • Console project
    • Empty project
    • Library
    • Web application
    • Empty web application.
    • NUnit library

    Java (IKVM)

    • Console project
    • Empty project
    • Library


    • Empty project
    • Shared library
    • Static library
    • Console project

    Other projects

    • Translation project
    • Generic project
    • Blank solution

    Command Line Tools

    Project build tool

    • mdtool build

    Project conversion tool

    • mdtool project-export

    Makefile generator tool

    • mdtool generate-makefiles

    Add-in setup utility

    • mdtool setup

    Graphical add-in setup utility

    • mdtool gsetup
    Tag page
    • No tags

    Files (0)

    Viewing 1 of 1 comments: view all
    can support pascal?
    Posted 07:38, 17 Sep 2010
    Viewing 1 of 1 comments: view all
    You must login to post a comment.
    Page last modified 09:53, 27 Oct 2010 by Lluis