[MonoDevelop] syntax definition of "addin.xml"

Michael Hutchinson m.j.hutchinson at gmail.com
Thu Jan 28 21:14:26 EST 2010

On Thu, Jan 28, 2010 at 7:53 PM, Vasili I. Galchin <vigalchin at gmail.com> wrote:
> Michael,
>     I don't see definitions/explanations for the following extension points:
> /MonoDevelop/ProjectModel/Gui/ItemOptionPanels/Build/General
> /MonoDevelop/ProjectModel/Gui/ItemOptionPanels/Build/Compiler

These are registering options panels for project/solution options. The
root extension point is
/MonoDevelop/ProjectModel/Gui/ItemOptionPanels, the rest is category
IDs. You can register whatever options panel you want, to edit any
custom data your addin stores on the project or configuration.

> /MonoDevelop/Ide/GlobalOptionsDialog/TextEditor/Formatting

Options panel on the Preferences dialog. Only needed if you want to
add preferences.

> /MonoDevelop/Ide/TextEditorExtensions

Text editor extensions affect the behaviour of the text editor, for
example adding code completion. Optional.

> /MonoDevelop/ProjectModel/MD1SerializationMaps"

Used for registering custom serialization maps for backwards
compatibility with the old MD1 file format. Not needed for new addins.

> /MonoDevelop/ProjectModel/DomParser

Used for registering a file parser for a file type. Optional, but it
enables the document outline, class pad, quick finder dropdown, etc to
work with your files. It's also used to fill the code completion
database which any code completion extension will need to use.

> /MonoDevelop/ProjectModel/Ambiences"

Ambiences are used to format .NET types for displaying in the IDE.
Optional; there is a default ambience if you don't supply one.

> /MonoDevelop/Core/StockIcons

Used for registering new icons that you want refer to by id from other
extension or from code.

> /MonoDevelop/ProjectModel/TextFormatDefinition"

Style definition for the code formatter. Only needed if you have a
code formatter.

> /MonoDevelop/ProjectModel/TextPrettyPrinters"

Code formatter. Optional.

> /MonoDevelop/SourceEditor2/CustomModes"

Used to register syntax highlighting schemes for filetypes. Optional.

> MonoDevelop/ProjectModel/PolicyTypes"

Only needed if you want to define new policies. See

> /MonoDevelop/ProjectModel/PolicySets/Mono

Definition of values for the "Mono" named policy set. If you define a
new policy you can add settings to existing sets such as the Mono set,
and/or you can define new named sets.

> /MonoDevelop/ProjectModel/Gui/MimeTypePolicyPanels"

Option panel for editing per-mimetype policies. Only needed if you
have defined a per-mimetype policy.

> /MonoDevelop/Refactoring/ASTProvider

Only needed if you want to enable refactoring.

> /MonoDevelop/Asp/CompletionBuilders

Only needed if you want to enable code-completion in ASP.NET pages.

> Also are all mandatory for .NET languages?

No, almost all of them are optional. Generally, each extension point
enables one feature, though some may depend on others. You can start
with a very small set.

Michael Hutchinson

More information about the Monodevelop-list mailing list