VS2005文件模板的定制
首先编写你的文件模板的原型:简单地说,新建的文件将是你提供文件的副本,当然你的文件中可以包含一些关键字,这些关键字或在使用模板生成新文件时被开发环境所替换。我们可以参考系统提供的模板中,winform窗体代码文件的内容:
#region Using directives
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
#endregion
namespace $rootnamespace$
{
partial class $safeitemrootname$: Form
{
public $safeitemrootname$()
{
InitializeComponent();
}
}
}
习惯使用标记的人一眼可以看出,$rootnamespace$和$safeitemrootname$就是刚才我提到的关键字,分别代表当前项目的缺省命名空间和用户提供的命名。 接着编写模板文件,模板文件是一个XML文件,后缀为.template,其格式可以参考开发环境提供的模板C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\CSharp\1033我没有找到好的文档描述文件格式,但我们可以照着开发环境提供的模板依葫芦画瓢,下面是系统模板文件
<VSTemplate Version="1.1.0" Type="Item">
<TemplateData>
<Name>
<Package GUID="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="2237"/>
</Name>
<Description>
<Package GUID="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="2264"/>
</Description>
<Icon>
<Package GUID="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="4535"/>
</Icon>
<ProjectType>
<Languages>
<Language>CSharp</Language>
</Languages>
</ProjectType>
<SortOrder>10</SortOrder>
<DefaultName>Form.cs</DefaultName>
</TemplateData>
<TemplateContent>
<References>
<Reference>
<Assembly>System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly>
</Reference>
<Reference>
<Assembly>System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly>
</Reference>
<Reference>
<Assembly>System.Drawing, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
</Reference>
<Reference>
<Assembly>System.Windows.Forms, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly>
</Reference>
<Reference>
<Assembly>System.Xml, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly>
</Reference>
</References>
<ProjectItem>
<SourceFile>Form.cs</SourceFile>
<ReplaceParameters>true</ReplaceParameters>
<SubType>Form</SubType>
</ProjectItem>
<ProjectItem>
<SourceFile>Form.Designer.cs</SourceFile>
<ReplaceParameters>true</ReplaceParameters>
</ProjectItem>
</TemplateContent>
</VSTemplate>
首先,我们研究一下TemplateData节,包含nane,description,icon分别代表名字,描述和图标,在我们newItem的时候,他们显示在列表框中。那些GUID,ID我想它无非是去定位资源的位置而已。Icon我没有办法提供,名字和描述我可以直接写的。另外一个节点TemplateContent中描述的是模板需要的依赖和文件内容,可以包含多个文件,如Winform根据上面的分析,我们尝试书写模板如下:
1,代码文件
#该代码由大坏蛋的模板生成
#region Using directives
using System;
using System.Text;
using System.Windows.Forms;
#endregion
namespace $rootnamespace$
{
class $safeitemrootname$: Control
{
public $safeitemrootname$()
{
}
}
}
2,模板文件
<VSTemplate Type="Item" Version="1.1.1">
<TemplateData>
<Name>
<String>TestTemplate</String>
</Name>
<Description>
<String>TestTemplate for joycode</String>
</Description>
<ProjectType>
<Languages>
<Language>CSharp</Language>
</Languages>
</ProjectType>
<DefaultName>Test.cs</DefaultName>
</TemplateData>
<TemplateContent>
<References>
<Reference>
<Assembly>System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly>
</Reference>
<Reference>
<Assembly>System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly>
</Reference>
<Reference>
<Assembly>System.Windows.Forms, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly>
</Reference>
</References>
<ProjectItem>
<SourceFile>dhd.cs</SourceFile>
<ReplaceParameters>true</ReplaceParameters>
</ProjectItem>
</TemplateContent>
</VSTemplate>
3,将这两个文件压缩成一个ZIP包,将该ZIP文件拷贝到C:\Documents and Settings\chenchangjian.H2000\My Documents\Visual Studio\ItemTemplates\Visual C#下,打开你的开发环境试试吧!
注意:
居然不支持中文!
打印 | 张贴于 2005-01-27 17:05:00 | Tag:暂无标签
留言反馈