[MonoDevelop] syntax definition of "addin.xml"

Michael Hutchinson m.j.hutchinson at gmail.com
Thu Jan 28 18:36:12 EST 2010


I'd recommend doing 1-6 in order. Past that it doesn't really matter,
except that 9 and 10 both depend on 8.

On Thu, Jan 28, 2010 at 5:26 PM, Vasili I. Galchin <vigalchin at gmail.com> wrote:
> Hi Michael,
>
>    In your list below, have you put in the order that an addin should
> be written in?? Or is the order arbitrary??
>
> Vasili
>
> On 1/8/10, Michael Hutchinson <m.j.hutchinson at gmail.com> wrote:
>> 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
>>
>



-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list