[MonoDevelop] syntax definition of "addin.xml"

Michael Hutchinson m.j.hutchinson at gmail.com
Fri Jan 8 02:33:35 EST 2010


On Fri, Jan 8, 2010 at 1:22 AM, Vasili I. Galchin <vigalchin at gmail.com> wrote:
>    I didn't see on
> http://monodevelop.com/index.php?title=Special:Search&search=addin.xml&fulltext=Search
>  the on-going definition of the syntax of *addiin.xml. Where is the
> current definition of *addin.xml?

There isn't a set schema, as the format is extensible - addins can add
extension points for other addins to use. There is a slightly
out-of-date autogenerated document at
http://monodevelop.com/Developers/Articles/Extension_Tree_Reference

However, the best way IMO is to look at the extensions in existing addins.

The articles at http://monodevelop.com/Developers/Articles are also very useful

Getting started, and basic concepts:
http://monodevelop.com/Developers/Articles/Development%3a_Getting_Started
http://monodevelop.com/Developers/Articles/Creating_a_Simple_Add-in

Overviews of APIs:
http://monodevelop.com/Developers/Articles/Architecture_Overview
http://monodevelop.com/Developers/Articles/API_Overview

For writing a .NET language binding, there are a few stages of things
you can do:
1) stub out the addin
2) file type definitions
3) IDotNetLanguageBinding for project & compilation support
4) file & project templates
5) option panels for setting language-specific project options
6) a syntax highlighting definition
7) code templates
8) a parser, to provide outlining, folding, class list, quick finder,
and fill the database that code completion uses
9) a text editor extension subclassing CompletionTextEditorExtension,
to provide code completion and smart indentation etc.
10) add Refactorer to the IDotNetLanguageBinding implementation to
support things like find refs, rename, insert member etc
11) other things like code formatter etc.

I can provide more specifics on any one of these.

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list