Navigation

TODO

From MonoDevelop

Table of contents


This is a list of features that we would like to add to MonoDevelop. If you want to contribute to MD, just pick one of them and notify through the mailing list (http://lists.ximian.com/mailman/listinfo/monodevelop-list) that your are going to work on it. Thanks for your help!

More complex proposals can be found on the Proposals page.

Small Tasks

Class Wizard

Create a "New Class" dialog which allows the user select the name and namespace of the class, the base classes and implemented interfaces, and the methods to be overriden.

Status: Nobody working on it.

Edit Class Dialog

Similar to the Class Wizard dialog, but it would be used to edit existing classes. It should allow adding a base class or interface, override a set of methods, encapsulate fields.

Status: Nobody working on it.

ChangeLog integration configuration per Project

Allow setting the name and email at project/solution level. Provide other customization options.

Status: Nobody working on it.

Refactory Operation: Move class to its own file

When there is a file with several classes, it would be useful to have a command which would get the selected class and move it to its own file.

Status: Ploscariu Simion working on it.

Standard Header configuration per project

Allow specifying the standard header to use in a project or solution. In the project/solution options dialog there would be a panel for setting the standard header like the one we have in MD preferences. It would have an additional option though: use parent solution settings. By default projects would have the "use parent solution settings" set, so by just setting the header in the root solution, we would be changing all the solution.

Status: Nobody working on it.

Search/Replace in selected text

It would be useful if the text editor supports search and replace functionality with a new target "selected text". Currently we support current Document, all opened files and the whole combine and (selected) directory.

Status: Nobody working on it.

Doubleclick in build output goes to a source code line

If doubleclicking in a line in any output window, it should see if that line can be parsed as a source code location, and if so, go to that location.

Status: Nobody working on it.

Optional flag for compilation process about strictness on correspondence between namespace and directory hierarchy

As suggested on http://lists.ximian.com/pipermail/monodevelop-list/2007-October/006827.html, it would be interesting to have a special flag in projects, in order to allow a stricter compilation like Java does: namespace hierarchy must respect folder hierarchy.

Status: Nobody working on it.

Spell checking in the text view for entering commit messages

Integrate a spell checker in the text view used for entering commit messages. Spell errors should be highlighted. The dictionary to use should be configurable per-project.

Status: Nobody working on it.

Missing Icons

We are missing quite a lot of tango-style icons. Here is a list of Missing Icons.

Auto-population (and hiding) of AssemblyInfo.cs

We could do some work to remove redundancy related to AssemblyInfo.cs files. AssemblyTitle, AssemblyDescription, and so forth could automatically be populated from the corresponding project.

More details here (https://bugzilla.novell.com/show_bug.cgi?id=320643).

Dynamic abbrevs

Implement support for Emacs' Dynamic Abbrevs. More details here (https://bugzilla.novell.com/show_bug.cgi?id=342125).

Medium Tasks

Customization of menus and toolbars

Provide an option for customizing the commands shown in menus and toolbars. Configurable key bindings.

Status: Not started.

Assembly browser

Add a window for browsing the contents of assemblies. An option is to integrate it the the class pad.

Status: Martin Zaworski working on it.

Support for GIT version control system (and others)

There is currently an add-in for MonoDevelop to work with Subversion repositories. We would like to support other source code control systems like Mercurial and GIT.

Status: Nobody working on it.

Integration of profiler

Add a "Profile" command that runs an application with the profiling option. Add windows that show the results of profile sessions in a graphical and easy to browse way.

Status: Ben Motmans working on heap-shot integration. (see Profiling_support)

GAPI binding builder

Create a new type of project: GAPI project. It would simplify the generation of bindings for Gnome libraries.

Status: not started.

Addin for MonoDoc documentation generation

Create a new type of project: a documentation project. Such a project would use the monodoc tools to generate documentation for libraries.

Status: Mario (mario.sopena at gmail.com) did some work on it. Nobody is working on it right now.

XBuild integration

Add support for XBuild file format and build commands. It is already possible to read msbuild files generated by Visual Studio.

Status: not started.

NAnt integration

Add support for NAnt file format and build commands.

Status: not started.

Code refactoring

Implement refactoring commands such as:

  • Encapsulate fields
  • Generate constructor
  • Rename types, variables, fields, properties
  • Implement interface
  • Generate method stub
  • Change variable
  • Sort members
  • Format code

Status: Jeff Stedfast working on it. There is a basic API in MonoDevelop.Projects.CodeGeneration for creating a class, adding members, renaming members and finding references. The described refactoring commands can be built on top of this API. Some people has shown interest in working on this, but there hasn't been any real committment on doing the work so far.

Help file authoring

Add a new project type that allows the athoring of help files for end user applications.

Status: not started.

Assembly Analyser

Integrate Gendarme (http://www.mono-project.com/Gendarme) or Smokey (https://home.comcast.net/~jesse98/public/Smokey) in order to analyze assemblies for potential problems.

Status: Some basic work done (CodeAnalysis (http://anonsvn.mono-project.com/source/trunk/monodevelop/extras/MonoDevelop.CodeAnalysis/) in extras).

Integration with OpenSuse Build Service

Create an add-in which allows creating packages using the tools provided by the Build Service. It should integrate with MD's deployment system.

Status: Nobody is working on it right now.

Support for editing/adding .NET localization

MonoDevelop lacks support for localizing applications through standard .NET methods, instead opting for Mono specific GetText methods. .NET localization uses res/resx files like foo.res, foo.en-GB.res, foo.he.res to contain localized strings and System.Globalization.ResourceManager to access them. Support for these files would improve cross-platform internationalization.

Status: Nobody is working on it right now.

Refactoring: Sort members by name

This work item is part of a refactoring feature set.

Sorting members by name will move definitions of members in the source file to fit some predefined sorting order. Generally, C# programmers group their methods by functionality within regions, and so sorting members is not felt as a dire necessity. Java programs do not have the luxury of regions, and so this feature is all the more valuable to them in maintaining a source file's sanity. Nonetheless, it would also be helpful to have the methods in C#, in regions and elsewhere, alphabetically sorted, so scanning a source file and quickly moving to a member without the aid of a GUI can be painless.

More details here (https://bugzilla.novell.com/show_bug.cgi?id=315711).

Spell checking of string literals and comments

Highlight spelling errors in string literals and comment blocks. Language to be specified per project. More details here (https://bugzilla.novell.com/show_bug.cgi?id=320172).

Source code formatter

It would be very nice to have a "format source code" feature in MonoDevelop. The feature should of course take into account the users editor settings.

More details here (https://bugzilla.novell.com/show_bug.cgi?id=321946).

Large Tasks

UML modeler

Integrate an UML modeler into the IDE.

Status: Nobody is working on it right now.

Iron Ruby support

Provide support for creating and compiling Iron Ruby projects, with support for code completion.

Status: Nobody is working on it right now.

Iron Python support

Provide support for creating and compiling Iron Pyton projects, with support for code completion.

Status: There is an Iron Python binding in SVN but it is very outdated. Nobody is working on it right now.

Requested features in Bugzilla

Many feature requests (http://bugzilla.ximian.com/buglist.cgi?product=Mono+Develop&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&priority=Wishlist&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query) have been filed in MonoDevelop's Bugzilla. Feel free to pick any of them and work on it.

Retrieved from "http://monodevelop.net/TODO"