参与“添加新项”对话框

项目子类型可以通过在 Projects 注册表子项子项下注册“添加项模板”,为“添加新项”对话框提供完整的新项目录

注册“添加新项”模板

本部分位于 注册表中的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Projects 下。 下面的注册表项假定 Visual Studio 项目由假设项目子类型聚合。 下面列出了 Visual Studio 项目的条目。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Projects\{F184B08F-C81C-45F6-A57F-5ABD9991F28F}]
@="#2143"
"DefaultProjectExtension"="vbproj"
"PossibleProjectExtensions"="vbproj;vbp"
"ProjectTemplatesDir"="visualStudioInstallPath\\Vb\\.\\VBProjects"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Projects\{F184B08F-C81C-45F6-A57F-5ABD9991F28F}\AddItemTemplates\TemplateDirs\{12345678-1234-1234-1122334455667788}\/1]
@="#100"
"TemplatesDir"="projectSubTypeTemplatesDir\\VBProjectItems"

AddItemTemplates\TemplateDirs 子项包含注册表项,其中包含在“添加新项”对话框中提供项的目录的路径。

环境会自动加载 Projects 注册表子项下的所有 AddItemTemplates 数据。 此数据可以包括基本项目实现的数据以及特定项目子类型的数据。 每个项目子类型都由项目类型 GUID 标识。 项目子类型可以通过支持VSHPROPID_ AddItemTemplatesGuid实现中的GetProperty枚举__VSHPROPID2来返回项目子类型的 GUID 值,来指定应将一组备用的添加项模板用于特定风格项目实例。 如果未指定属性 VSHPROPID_AddItemTemplatesGuid ,则使用基本项目 GUID。

可以通过在项目子类型聚合器对象上实现IVsFilterAddProjectItemDlg接口来筛选“添加新项”对话框中的项。 例如,通过聚合 Visual Studio 项目来实现数据库项目的项目子类型,可以通过实现筛选从“添加新项”对话框中筛选 Visual Studio 特定项,反过来,还可以通过支持VSHPROPID_ AddItemTemplatesGuidGetProperty来添加数据库项目特定的项。 有关筛选项并将项添加到 “添加新项 ”对话框的详细信息,请参阅 “向”添加新项“对话框添加项。