I think the following might help you and others who are wanting to do similar things.
If your end goal is to generate code/something when anything changes in your .dsl file, then I suggest you could use "CustomTool". It's a property on any Project Item. You write code to generate code, register the Generator assembly, then set the customtool property of the .dsl file to "MyDslToCsGenerator".
In order to register the Custom tool in VS you have to run "regasm" utility, available with .Net framework against the MyDslToCsGenerator.dll
I know you said that you don't want to use Item Template wizard, but if you've access to the custom file template, then you could set the default build action (see 1st link below)
<ProjectItem SubType="" TargetFileName="$fileinputname$.dsl"
ReplaceParameters="true" ItemType="Embedded Resource"
CustomTool="MyDslToCsGenerator">MyFile.dsl</ProjectItem>
You could also do this programmatically with DTE (projectItem.Properties.Item("ItemType").Value = "MyOwnBuildActionChoice"
) as explained in the 2nd link below
Helpful links:
- How to set the Build Action for an item created by a Visual Studio item template?
- Using DTE to set a custom build
action