VS2005 VSテンプレート作成方法まとめ
Visual Studio 2005では、カスタムのプロジェクトテンプレートや
項目テンプレートを作成するのが簡単ですね。
作成方法に関してまとめておきます。
■ プロジェクトテンプレート作成
プロジェクトテンプレートは、VSでプロジェクトを新規作成する際に
選択できるテンプレートのことを指します。
VS2005標準のテンプレートは下記フォルダにZIP形式で保存されているので、
それらを拡張してあげることも可能です。
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates
私は、NUnit2.2.7用プロジェクトテンプレートを作成するにあたって、
標準のクラスライブラリのテンプレートを別ファイルにコピーし拡張しました。
ちなみに、VS2005では、実際に使用したVSプロジェクトを
テンプレートとしてエクスポートすることも可能です。
(VS2005 Proではできたけど、VS2005 TeamSuitesでは、
このエクスポートのメニューが見当たらないのは何故...??)
下に作成したvstemplateファイルの例を示します。
*.vstemplate例:
<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item"> <TemplateData> <DefaultName>UnitTestClass.cs</DefaultName> <Name>NUnit用テストクラス</Name> <Description>NUnitを利用したテストクラスです</Description> <ProjectType>CSharp</ProjectType> <ProjectSubType>NUnit</ProjectSubType> <SortOrder>10</SortOrder> <Icon>NUnit.ico</Icon> </TemplateData> <TemplateContent> <References> <Reference> <Assembly>nunit.framework, Version=2.2.7.0, Culture=neutral, PublicKeyToken=96D09A1EB7F44A77</Assembly> </Reference> </References> <ProjectItem SubType="Code" TargetFileName="$fileinputname$.cs" ReplaceParameters="true">TargetClassTest1.cs</ProjectItem> </TemplateContent> </VSTemplate>
ZIPファイルにはテンプレートのアイコンも含めることができます。
また作成上の注意事項ですが、*.vstemplateファイルで日本語を利用する際には
UTF-8で保存してください。
作成したテンプレートのZIPファイルを下記フォルダへコピーしてあげると、
VSのプロジェクト作成時にマイテンプレートとして選択できるようになります。
\My Documents\Visual Studio 2005\Templates\ProjectTemplates
■ 項目テンプレート作成
項目テンプレートとは、プロジェクトに対して「新しい項目の追加」メニューを
選択した際に、選べる項目のテンプレートのことを指します。
項目テンプレートの作成方法は、プロジェクトテンプレートの作成とほぼ同じです。
これもVS2005標準の項目テンプレートを参考にしながら作成すると簡単です。
標準の項目テンプレートは下のフォルダにインストールされます。
VS2005標準の項目テンプレート
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates
また、同様に作成した項目テンプレートは
My Documents下に配置してあげる必要があります。
作成した項目テンプレートの配置先
\My Documents\Visual Studio 2005\Templates\ItemTemplates
■ コンテンツインストーラの作成
上記で作成したプロジェクトテンプレートや、
項目テンプレート(コードスニペットも可能)を他の開発者に配布したい場合、
コンテンツインストーラを作成することができます。
作成したプロジェクトテンプレートと項目テンプレートのZIPファイルに加えて、
*.vscontentの拡張子でXMLファイルを作成してあげます。
*.vscontent例 :
<VSContent xmlns="http://schemas.microsoft.com/developer/vscontent/2005"> <Content> <FileName>NUnit2.2.7ProjectTemplate.zip</FileName> <DisplayName>NUnit2.2.7用テストプロジェクトテンプレート</DisplayName> <Description>NUnit2.2.7でテスト駆動開発を行うためのプロジェクトテンプレートです</Description> <FileContentType>VSTemplate</FileContentType> <ContentVersion>1.0</ContentVersion> <Attributes> <Attribute name="ProjectType" value="Visual C#"/> <Attribute name="TemplateType" value="Project"/> </Attributes> </Content> <Content> <FileName>NUnit2.2.7UnitClass.zip</FileName> <DisplayName>NUnit2.2.7用単体テストクラステンプレート</DisplayName> <Description>NUnit2.2.7でテスト駆動開発を行うための単体テストクラスです</Description> <FileContentType>VSTemplate</FileContentType> <ContentVersion>1.0</ContentVersion> <Attributes> <Attribute name="ProjectType" value="Visual C#"/> <Attribute name="TemplateType" value="Item"/> </Attributes> </Content> </VSContent>
作成したvscontentファイルとそれぞれのテンプレートZIPファイルをまとめて
ZIP形式で圧縮し、ファイル拡張子をVSIに変更すればインストーラのできあがりです。
このインストーラを実行すると、My Document下の各テンプレートフォルダに
作成したテンプレートZIPファイルがインストールされます。
ちなみに、インストールの作成者を表示するには、
インストーラのファイルに対して署名してあげる必要があるみたいです。
■ 関連リンク
私が参考にしたURLもまとめておきます。
MSDNライブラリ - Visual Studio テンプレート
http://msdn2.microsoft.com/ja-JP/library/6db0hwky(VS.80).aspx
VSIコンテンツインストーラの作成
http://msdn2.microsoft.com/ja-JP/library/ms185314(VS.80).aspx