Feature List
From MonoDevelop
| Table of contents |
|
|
[edit]
IDE Workbench
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
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.
[edit]
Build Output
- Support for output window pinning (avoids overwriting of the output if the project is built again).
[edit]
Application Output
- Support for output window pinning (avoids overwriting of the output if the project is run again).
[edit]
Message Log Pad
- Log of internal MonoDevelop messages.
[edit]
Welcome Page
- Recents list.
- Documentation links.
- Create/Open project commands.
[edit]
Customization
[edit]
Layouts
- Supports the definition of new layouts of workspace pads and toolbars (View/Layouts).
- Quick layout switch using a selector in the toolbar.
[edit]
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.
[edit]
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.
[edit]
Project Management
[edit]
Building
- 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'.
[edit]
Run
- Option for running in internal or external console.
[edit]
Export
- 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'.
[edit]
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.
[edit]
Generic project
- Project type not bound to any language.
- Can be used together with Makefile Integation and Custom Commands.
[edit]
Source Code Editing
[edit]
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).
[edit]
Code Completion
- Code completion of namespaces, types and members.
- 'as' and 'new' completion.
- Method parameter Completion.
- C# compilation directives.
[edit]
Source Code Tooltips
[edit]
On-the-fly Error Underlining
[edit]
Indent Strategies
- Auto indent
- Smart indent for C#
[edit]
Standard Header
- Allows adding a header to all new files.
- Templates for common licences.
[edit]
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.
[edit]
Refactory Operations
- Rename class, field, method, property, event
- Implement interface (explicit or implicit)
- Implement overridable method, property, event
[edit]
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.
[edit]
Navigation History
- History of source code location.
- Easy navigation through the history.
[edit]
Visual Design
[edit]
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.
[edit]
Toolbox
- 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
[edit]
Property grid
- One single property grid for all designers (GTK#, ASP.NET, etc.)
- Allows editing project file properties.
[edit]
Packaging and Deployment
[edit]
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).
[edit]
Generation and deployment of support files
- .pc file for libraries.
- .desktop for applications.
- launch script.
[edit]
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.
[edit]
Makefile Integration
[edit]
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.
[edit]
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.
[edit]
ASP.NET
[edit]
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).
[edit]
Web References
- Browse for a web service and create web service proxies.
- Update web service proxies.
[edit]
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.
[edit]
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
[edit]
Nunit
[edit]
NUnit Library Project
[edit]
NUnit Test Project
[edit]
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.
[edit]
History panel
- Keeps an history of tests runs.
- Graphical view of successul runs and failures.
- Comparison of tests runs. List of regressions.
- Performance chart.
[edit]
Test results pad
- Allows filtering for successful, failed and ignored tests.
- Filtering of test output.
[edit]
Visual Studio Integration
[edit]
Native support for Visual Studio 2005 projects
- The following project types can be opened and modified:
- C#
- Visual Basic .NET
- ASP.NET
[edit]
Import VS 2003 project
- Visual Studio 2003 projects can be imported and converted to the MonoDevelop or VS 2005 file formats.
[edit]
Version Control
[edit]
Subversion
- 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.
[edit]
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.
[edit]
Documentation
- Context sensitive help
- Class documentation browser based on Monodoc
[edit]
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.
[edit]
Project Templates
[edit]
For all languages supporting CodeDOM
- Empty project
- Library
- Web application
- Empty web application.
- NUnit library
[edit]
C#
- GTK# project.
- Empty project
- Library
- Web application
- Empty web application.
- NUnit library
[edit]
Visual Basic
- Console project
- Empty project
- Library
- Web application
- Empty web application.
- NUnit library
[edit]
Boo
- Console project
- Empty project
- Library
- Web application
- Empty web application.
- NUnit library
[edit]
Java (IKVM)
- Console project
- Empty project
- Library
[edit]
C/C++
- Empty project
- Shared library
- Static library
- Console project
[edit]
Other projects
- Translation project
- Generic project
- Blank solution
[edit]
Command Line Tools
[edit]
Project build tool
- mdtool build
[edit]
Project conversion tool
- mdtool project-export
[edit]
Makefile generator tool
- mdtool generate-makefiles
[edit]
Add-in setup utility
- mdtool setup
[edit]
Graphical add-in setup utility
- mdtool gsetup

Powered by MediaWiki