ProjectItem 要素 (Visual Studio 項目テンプレート)
項目テンプレートに含まれているファイルを指定します。
Note
ProjectItem
要素は、そのテンプレートがプロジェクトまたは項目のどちらのものであるかに応じて異なる属性を受け付けます。 このトピックでは、項目の ProjectItem
要素について説明します。 プロジェクト テンプレートの ProjectItem
要素の説明については、「ProjectItem 要素 (Visual Studio プロジェクト テンプレート)」を参照してください。
<VSTemplate><TemplateContent><ProjectItem>
構文
<ProjectItem
SubType="Form/Component/CustomControl/UserControl"
CustomTool="string"
ItemType="string"
ReplaceParameters="true/false"
TargetFileName="TargetFileName.ext">
FileName.ext
</ProjectItem>
属性と要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 | 説明 |
---|---|
SubType |
省略可能な属性です。 複数ファイルの項目テンプレート内の項目のサブタイプを指定します。 この値は、項目を開くために Visual Studio に使用されるエディターを決定するために使用されます。 |
CustomTool |
省略可能な属性です。 プロジェクト ファイル内の項目の CustomTool を設定します。 |
ItemType |
省略可能な属性です。 プロジェクト ファイル内の項目の ItemType を設定します。 |
ReplaceParameters |
省略可能な属性です。 この項目に、テンプレートからプロジェクトが作成されるときに置き換える必要があるパラメーター値が含まれているかどうかを指定するブール値。 既定値は false 。 |
TargetFileName |
省略可能な属性です。 テンプレートから作成された項目の名前を指定します。 この属性は、パラメーター置換を使用して項目名を作成する場合に役立ちます。 |
子要素
なし。
親要素
要素 | 説明 |
---|---|
TemplateContent | テンプレートの内容を指定します。 |
Text 値
テキスト値が必要です。
テンプレート .zip ファイル内のファイルの名前を表す string
。
解説
ProjectItem
は、TemplateContent
の省略可能な子です。
TargetFileName
属性を使用して、パラメーターでファイルの名前を変更することができます。 たとえば、ファイル MyFile.vb がテンプレート .zip ファイルのルート ディレクトリに存在していても、[新しい項目の追加] ダイアログ ボックスでユーザーが入力したファイル名に基づいてファイル名を付けたい場合は、次のような XML を使用します。
<ProjectItem TargetFileName="$fileinputname$.vb">MyFile.vb</ProjectItem>
このテンプレートから項目を作成すると、ユーザーが [新しい項目を追加] ダイアログ ボックスに入力した名前に基づいたファイル名になります。 これは、複数ファイルの項目テンプレートを作成するときに役立ちます。 詳細については、「方法: 複数ファイルの項目テンプレートを作成する」と「テンプレート パラメーター」を参照してください。
例
次の例では、Visual C# クラスの標準的な項目テンプレートのメタデータを示します。
<VSTemplate Type="Item" Version="3.0.0"
xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>MyClass</Name>
<Description>My custom C# class.</Description>
<Icon>Icon.ico</Icon>
<ProjectType>CSharp</ProjectType>
<DefaultName>MyClass.cs</DefaultName>
</TemplateData>
<TemplateContent>
<ProjectItem ReplaceParameters="true">MyClass.cs</ProjectItem>
</TemplateContent>
</VSTemplate>