[MonoDevelop] Documentation on hardcore features of Monodevelop

Etienne Fortin etienne.fortin at sympatico.ca
Sun Nov 9 18:47:40 EST 2008

Hello Michael,
Thanks for your quick answer. Unfortunetly you gave me the answer I 
feared, but I understand. There are so much tasks to complete in these 
projects that documentation sometimes suffer.

I got started looking at the current templates in the source 
distribution of MD 2.0 Alpha 1 (strangely enough named 1.9.something). 
What I would like to do, for now, is the following:

1) Include non compilable files in the directories tree of a project 
(like bmp, png, key files, xml, etc...). Right now every time I include 
a file, it gets compiled and I need to manually remove it from the 
compilation list. Probably something like "Compile="False"" on the 
<File> tag, but hard to find it just by trying various possibilities...

2) Add custom commands. I used a pyton script with Visual Studio 2008 
Express that automated the namespace naming based on the directory 
source tree (ie where the source file is located in that tree). Right 
now I need to add the custom command manually after the project is 
created. I would like it to be put in there by the template. I guess it 
must go in the <Options> tag of a project, but I can't figure out what 
value to put in there.

3) Linked to 1), but instead of adding files based on templates, add 
files residing in the directory of the template. Useful for what I want 
to do in 1). Something like <File path="myfile.some_extension"/>

FYI, my templates are all based on the CSharpBindings addin, meaning 
that I reuse the same DLL so the same code is run behind.

I sure will look at documenting what I find out with Templates. I'll let 
you know.


Michael Hutchinson a écrit :
> 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 :-)

More information about the Monodevelop-list mailing list