将项目添加到解决方案中添加新项 " 对话框

要添加的项的处理。 添加新项目 对话框从注册表项开始。 如以下注册表项所示, AddItemTemplates 节包含路径,并利用项可用在 添加新项目 对话框的目录的名称中。

备注

在代码段后的表包含有关注册表项的附加信息。

找到在此部分下 [HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\VisualStudio\9.0Exp\Projects]。

第一个 GUID 是此类型的项目的 CLSID;第二个 GUID 指示将项模板的签入的项类型。

\{C061DB26-5833-11D2-96F5-000000000000}\AddItemTemplates\TemplateDirs\ {ACEF4EB2-57CF-11D2-96F 4-000000000000} \ 1

   @= " #6”

   “TemplatesDir " = " AMP_LTVisual studio SDK 安装路径 \\VSIntegration\\SomeFolder\\FigPkg\\FigPrj\\FigPrjProjectItems”

   “SortPriority " =dword: 00000064

名称

类型

数据 (从 .rgs 文件)

说明

@ (默认值)

REG_SZ

#%IDS_ADDITEM_TEMPLATES_ENTRY%

添加项目 模板的资源 ID。

Val TemplatesDir

REG_SZ

%TEMPLATE_PATH%\FigPrjProjectItems

添加新项目 向导的对话框显示的项目项的路径。

Val SortPriority

REG_DWORD

100 (x64)

确定在 添加新项目 对话框中显示的文件树节点的排序顺序。

备注

Visual C# 和 Visual Basic 项目中 GUIDS 类型如下所示:Visual C#:{FAE04E C0 -301F-11D3-BF4B-00 C04 F79EFBC}Visual Basic:{F184B08F- C81 C-45F6-A57F-5ABD9991F28F}

为 TemplateDirs 列表的内容,是 %TEMPLATE_PATH%\FigPrjProjectItems,作为节点在 添加新项目 对话框树的左侧。 在树的其他元素基于该根目录中的子目录。 可用的文件将被添加到项目是在 添加新项目 对话框的右窗格中选择项。

通常,此文件夹包含项目的模板文件 (如模板 HTML 或 .cpp 文件并开始的所有向导 .vsz 文件。 若要控制项的显示方式,还可以包含本地化的目录名称和图标 .vsdir 文件。 该本地化的字符串都将出现在对话框显示在 " 添加新项 " 对话框树的此节点的说明。

但是,您不需要具有所有内容。一 .vsdir 文件。 可以为每个项目中的 .vsdir 目录中文件 有关更多信息,请参见向导 (。Vsz) 文件模板内容 (声明。Vsdir 文件)

备注

在模板目录的 .vsdir 文件是可选的。如果您在目录中 添加新项目 对话框要将项目元素和显示,则在 TemplatesDir 语句指定的模板目录中放置文件。文件在 添加新项目 对话框的右窗格将显示该项目的。但是,因此,如果要显示文件或图标的本地化说明,在模板目录必须至少包含一个名为 .vsdir 文件。

分组项目项

如果要在 添加新项目 对话框树中的文件夹包含模板组,则必须具有子目录在与 project 的根模板目录下在它们。 当 添加新项目 对话框会向用户显示,它们也会看到子文件夹并可以选择项目元素从它们。

在代码段的排序优先级确定此模板目录的位置在树中创建相对树节点的其他元素。 对于 添加新项目 对话框,排序优先级是必须包括的,以便项目在对话框的正确位置将显示。

您还可以实现 IVsFilterAddProjectItemDlg2 接口筛选任何 添加新项目 显示对话框。 通过实现此接口,可以在包含,例如, 50 模板和向导文件的磁盘上的模板目录。 在这样,您可以与属于一个项目类型、其他 30 文件属于另一个项目类型以及所有文件可用在项目的一个泛型类型的 20 文档的不同项目类型。 这样,项目模板后,可以显示一组不同的模板文件。

例如,在 Visual Basic 项目中,您可能有一个 Web 项目和客户端项目。 Web 窗体不是添加有用的项目到客户端项目,并且, windows 窗体不是添加有用的项添加到 Web 服务器项目。 因此,您可以创建一个包含项的两个类型的所有文件的模板目录。 然后通过实现 IVsFilterAddProjectItemDlg2,则可以隐藏不应显示基于项目或项目设置的类型在项目的项目。

筛选项目项

IVsFilterAddProjectItemDlg2 以下方式提供筛选在树 (左窗格) 和项目文件 (右窗格) 的元素:

  • IVsFilterAddProjectItemDlg(声明显示在 .vsdir 文件包含的对话框) 提供的本地化名称。

  • 按文件和文件夹的实际名称在磁盘上 (非本地化 —不是 .vsdir 文件)。 IVsFilterAddProjectItemDlg提供的。

  • 按类别,,假定 IVsFilterAddProjectItemDlg2

若要按类别筛选,请提供一个类字符串对 .vsdir 文件的项目,如 “Web 窗体”或 “客户端项目”在 Visual Basic 中。 对话框代码从 .vsdir 文件中检索类别分类并向其传递给您。 可以对 IVsFilterAddProjectItemDlg2 的实现然后将该信息按类别筛选 添加新项目 对话框。 还可以筛选项目网页的或作为客户端 Win32 应用程序用例。 此外,可以标识 Visual C++ 标记的项作为 Microsoft 基础 (MFC)类或活动模板库 (ATL)项目。 当您确定这些项目时,项目系统可以定义自己的类,以便系统可以基于类别和类别来筛选。

如果实现此筛选功能,您不必映射应隐藏每个项的表。 在 .vsdir 文件可以类别项到类型并将类别。 然后可以隐藏具有特定类别通过实现接口的任何项。 这样,您可以在基于项目中的状态的 添加新项目 对话框动态的项目。

请参见

参考

IVsFilterAddProjectItemDlg2

概念

注册项目模板和项模板

通常用于扩展项目中的对象的 CATIDs

模板内容 (声明。Vsdir 文件)

向导 (。Vsz) 文件

其他资源

添加项目和项目项模板