I m working on a DSL tool, and for this tool, there exists a custom code generation tool that creates output files. Currently, this tool is registered with C# using a RegistrationAttribute on the DslPackage with the following code:
class FileGenerationRegistrationAttribute : RegistrationAttribute
{
private const string CSharpGeneratorsGuid = "{fae04ec1-301f-11d3-bf4b-00c04f79efbc}";
private const string CSharpProjectGuid = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}";
public override void Register( RegistrationAttribute.RegistrationContext context )
{
// register custom generator
key = context.CreateKey( @"Generators " + CSharpGeneratorsGuid );
...
key.Close();
// register editor notification
key = context.CreateKey( @"Projects " + CSharpProjectGuid + @"FileExtensions" );
...
key.Close();
}
}
This works, but the thing is, the code generated by the tool is going to be language neutral (through the use of CodeDOM). It doesn t require the project to be of the type C#. So my question is this: What GUIDs can I use instead of the demonstrated CSharpGeneratorsGuid
and CSharpProjectGuid
in order to let my tool be used in any kind of project? (Like VB, F#, IronPython, et. al.)