Регистрация шаблонов проектов и элементов
Типы проектов должны регистрировать каталоги, в которых находятся их шаблоны проектов и элементов проекта. 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