Hey,

I have developed a T4 Text Template code generation for my database projects, where I use a .tt file that generates all the database code for me so I don't have to write it each time.
The files are generated from an XML file which at the moment I am writing manually. The XML file contains:
- The location of the database
- The tables to generate classes for
- Which fields those tables have

I don't like writing XML files manually though, so I made a quick little application (in WPF, that's important I guess) that allows me to add tables and their fields with a visual kind of interface (a bit like the Class Diagrams in VS) which then generates the XML file for me.

I am now looking to turn this into a VS2010 extension or add-on. The idea is quite simple: all I need is to be able to add some kind of file to my project, which when opened opens a tab in the editor that shows my xml-writing application. I can then add the tables and their fields right in VS and it would generate the XML file for me. The .tt code generation files would then take that XML file and write the database code for me (already done).

The problem is: I have no clue how to start with this. I have looked how to make extensions in the past but never really got far. I found a few samples made by MS (I think) but none are really applicable to my situation. I think one customizes the Intellisense popup, another adds a regex editor on top of the normal code editor, etc. What I want is a new kind of file editor.

In case you still don't understand, here's a (photoshop) mockup:


So the app I made should be converted to an extension so that I can 'open' it as a new kind of editor right inside VS. This is why I made the app in WPF in the first place, since the VS editor is all WPF I'm pretty sure extensions need to be WPF as well.


Anyone know where to begin with this? I can't even figure out how to call this so I cannot find any information on it except for some generic information on VS addons...

I'm thinking the extension would be very simple; I don't need to access any code in the project or anything. All I need is the location of the file I am currently editing (the 'xmlgen' file I guess) so that I can let my extension generate the XML file in the same folder (that is where the .tt files look for it). The rest is all contained in my app and already works; I just need to be able to 'embed' the app into a new kind of editor in VS...

Thanks!