Поделиться через


Регистрация шаблонов проектов и элементов

Типы проектов должны регистрировать каталоги, в которых находятся их шаблоны проектов и элементов проекта. Visual Studio использует сведения о регистрации, связанные с типами проектов, чтобы определить, что нужно отобразить в диалоговом окне "Добавление нового проекта " и "Добавить новый элемент ".

Дополнительные сведения о шаблонах см. в разделе "Добавление шаблонов элементов проекта и проекта".

Записи реестра для проектов

В следующих примерах показаны записи реестра в разделе HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\<Version>. В сопроводительных таблицах описываются элементы, используемые в примерах.

[Projects\{ProjectGUID}]
@="MyProjectType"
"DisplayName"="#2"
"Package"="{VSPackageGUID}"
"ProjectTemplatesDir"="C:\\MyProduct\\MyProjectTemplates"
Имя. Тип Описание
@ REG_SZ Имя проектов этого типа по умолчанию.
DisplayName REG_SZ Идентификатор ресурса имени, извлекаемого из вспомогательной библиотеки DLL, зарегистрированной в разделе "Пакеты".
Пакет REG_SZ Идентификатор класса пакета, зарегистрированного в разделе "Пакеты".
ProjectTemplatesDir REG_SZ Путь по умолчанию к файлам шаблона проекта. Файлы шаблона проекта отображаются шаблоном нового проекта .

Регистрация шаблонов элементов

Необходимо зарегистрировать каталог, в котором хранятся шаблоны элементов.

[Projects\{ProjectGUID}\AddItemTemplates\TemplateDirs\{VSPackageGUID}\1]
@="#7"
"TemplatesDir"="C:\\MyProduct\\MyProjectItemTemplates "
"TemplatesLocalizedSubDir"="#10"
"SortPriority"=dword:00000064
Имя. Тип Описание
@ REG_SZ Идентификатор ресурса для шаблонов добавления элементов.
TemplatesDir REG_SZ Путь к элементам проекта, отображаемым в диалоговом окне мастера добавления нового элемента .
TemplatesLocalizedSubDir REG_SZ Идентификатор ресурса строки, которая называет подкаталог TemplatesDir, содержащий локализованные шаблоны. Так как Visual Studio загружает строковый ресурс из вспомогательных библиотек DLL, если у вас их есть, каждая вспомогательная библиотека DLL может содержать другое локализованное имя подкаталога.
SortPriority REG_DWORD Задайте sortPriority для управления порядком отображения шаблонов в диалоговом окне "Добавление нового элемента ". Более крупные значения SortPriority отображаются ранее в списке шаблонов.

Регистрация фильтров файлов

Кроме того, можно зарегистрировать фильтры, которые Visual Studio использует при запросе имен файлов. Например, фильтр Visual C# для диалогового окна "Открыть файл ":

Файлы Visual C# (*.cs,*.resx,*.settings,*.xsd,*.wsdl);*.cs,*.resx,*.settings,*.xsd,*.wsdl)

Для поддержки регистрации нескольких фильтров каждый фильтр регистрируется в собственном подразделе в разделе HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\Version>\Projects\{<ProjectGUID>}\Filters\<Subkey.>< Имя подключа является произвольным; Visual Studio игнорирует имя подраздела и использует только его значения.

Вы можете управлять контекстами, в которых фильтр используется с помощью флагов параметров, показанных в следующей таблице. Если фильтр не имеет флагов, он будет указан после общих фильтров в диалоговом окне "Добавление существующего элемента " и диалогового окна "Открыть файл ", но он не будет использоваться в диалоговом окне "Поиск в файлах ".

[Projects\{ProjectGUID}\Filters\MyLanguageFilter]
@="#3"
"CommonOpenFilesFilter"=dword:00000000
"CommonFindFilesFilter"=dword:00000000
"FindInFilesFilter"=dword:00000000
"NotOpenFileFilter"=dword:00000000
"NotAddExistingItemFilter"=dword:00000000
"SortPriority"=dword:00000064
Имя. Тип Описание
CommonFindFilesFilter REG_DWORD Делает фильтр одним из распространенных фильтров в диалоговом окне "Поиск в файлах ". Общие фильтры перечислены в списке фильтров, прежде чем фильтры не помечены как распространенные.
CommonOpenFilesFilter REG_DWORD Делает фильтр одним из распространенных фильтров в диалоговом окне "Открыть файл ". Общие фильтры перечислены в списке фильтров, прежде чем фильтры не помечены как распространенные.
FindInFilesFilter REG_DWORD Выводит список фильтров после распространенных фильтров в диалоговом окне "Поиск в файлах ".
NotOpenFileFilter REG_DWORD Указывает, что фильтр не используется в диалоговом окне "Открыть файл ".
NotAddExistingItemFilter REG_DWORD Указывает, что фильтр не используется в диалоговом окне "Добавление существующего элемента ".
SortPriority REG_DWORD Задайте sortPriority для управления порядком отображения фильтров. Более крупные значения SortPriority отображаются ранее в списке фильтров.

Структура каталогов

VSPackages может поместить файлы и папки шаблона в любое место на локальном или удаленном диске, если расположение зарегистрировано через интегрированную среду разработки (IDE). Однако для удобства организации рекомендуется использовать следующую структуру каталогов в рамках пути установки продукта.

\Шаблоны

\Projects (содержит шаблоны проектов)

\Applications

\Компоненты

\ ...

\ProjectItems (содержит элементы проекта)

\Класса

\Формы

\Веб-страница

\HelperFiles (содержит файлы, используемые в элементах проекта с несколькими файлами)

\WizardFiles

См. также