Share via


[新しいプロジェクト] ダイアログ ボックスにディレクトリを追加する

新しいプロジェクトの種類を作成するときに、[新しいプロジェクト] ダイアログ ボックスで新しいディレクトリを登録して、テンプレートとして使用できるように表示することもできます。 次のコード例では、新しいディレクトリ (ノードとも呼ばれる) を登録する方法について説明します。 この例では、VSPackage である CLSID_Package によって公開されているテンプレートが登録されています。 結果として、[新しいプロジェクト] ダイアログ ボックスの左側には、追加したノードが、Folder_Label_ResID リソースによって決定される名前と共に提供されます。 このリソースは、VSPackage サテライト DLL から読み込まれます。

Folderの値は、Folder_Label_ResID ノードが表示されるフォルダーの GUID を表します。 この例では、GUID は [新しいプロジェクト] ダイアログ ボックスの [プロジェクトの種類] ペインにある [その他のプロジェクト] フォルダーを表します。 [その他のプロジェクト] の値が存在しない場合、ラベルは最上位レベルに配置されます。

TemplatesDir の値は、プロジェクト テンプレートが格納されているディレクトリの完全パスを指定します。 これらのファイルには、複製する .vsz ファイルまたは一般的なテンプレート ファイルを指定できます。

TemplatesLocalizedSubDir を指定する場合、ローカライズされたテンプレートを保持する TemplatesDir のサブディレクトリに名前を指定する文字列のリソース ID にする必要があります。 サテライト DLL がある場合、Visual Studio ではそこから文字列リソースを読み込むため、サテライト DLL ごとに異なるサブディレクトリ名を含めることができます。 SortPriority の値は並べ替えの優先度を指定します。

NoRemove NewProjectTemplates
{
    NoRemove TemplateDirs
  {
    ForceRemove %CLSID_Package%
    {
      ForceRemove /1 = s '#%Folder_Label_ResID%'
      {
        val Folder = s '{DCF2A94A-45B0-11D1-ADBF-00C04FB6BE4C}'
        val TemplatesDir = s '%Template_Path%'
        val TemplatesLocalizedSubDir = s '#100'
        val SortPriority = d 1000
      }
    }
  }
}