[MonoDevelop] Documentation on hardcore features of Monodevelop

Michael Hutchinson m.j.hutchinson at gmail.com
Sun Nov 9 18:25:12 EST 2008


On Sun, Nov 9, 2008 at 11:05 AM, Etienne Fortin
<etienne.fortin at sympatico.ca> wrote:
> Hello all,
> I've been using the .NET Framework from Microsoft for the past six
> years, and probably more as I can't remember exactly when I started. But
> after all these years, I finally decided to give Mono a try as
> cross-platform developments is getting more and more interesting for my
> needs and projects. Before, Mono wasn't in a state that I would consider
> enough to make the switch, for me at least, but now that C# 3.0 is fully
> supported, Linq and all, it makes a lot of sense to at least give it a
> try. And performance also seems to be on par with Microsoft offering.
>
> And that's exactly what I'm doing, on a brand new Ubuntu Desktop install
> and Monodevelop. And this is where the problems begins :) Well,
> problems, I just need some help to get started. See, I'm a little bit
> picky on how my files are organised and I like to automate everything I
> do, as with everyone around here I guess. So I decided to create my own
> project templates. But the problem is I can't find any good
> documentation on what is available on .xft.xml and .xpt.xml files. The
> only things I found are looking at Monodevelop sources and play trial
> and error. Maybe I'm just plain stupid and can't find the obvious, or
> maybe it just very well hidden, but either way I need some help. Anyone
> knows or has some documentation on these files? A schema maybe?

Unfortunately we haven't had the time to document the format. There
isn't a straightforward schema either, since the interesting elements
are provided by extensions. I'd recommend looking at existing
templates that do what you want to do.

I suggest looking at existing templates. Probably the best one is
OpenOfficeSamples
(http://anonsvn.mono-project.com/viewvc/trunk/monodevelop/extras/OpenOfficeSamples/)
since it's an addin consisting only of templates. There are also a
number of undocumented substitutable variables (filname, classname,
etc) and these vary with template file type :-/

It's currently not possible to add templates without an addin file,
though I do think this is something that should be make easier for MD
2.0 (maybe we should load templates directly from
~/.config/MonoDevelop/Templates, and document the template format?).

Fortunately the addin file is pretty straightforward to work out from
existing .addin.xml files. Just drop it and the associated templates
into a subdirectory of ~/.config/MonoDevelop/addins (IIRC).

> Thanks and looking forward to contribute on this project.

Thanks for letting us know of your interest! If you have any
suggestions for improving the user experience with templates, please
file "enhancement" bugs on the bug tracker. If you'd like to start off
by documenting your template experiences on the MD wiki, email me and
I'll set you up with an account :-)

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list