Файлы описания каталога шаблона (.Vsdir)
Файл описания каталога шаблонов (.vsdir) текстовый файл, который включает интегрированную среду разработки (ide) в папки отображения, файлы мастера vsz и файлы шаблона, связанные с проектом в диалоговых окнах. Содержимое включают одну запись в файл или папку. Все файлы .vsdir на соответствующем месте объединяются, хотя только для описывает один файл .vsdir обычно несколько папок, мастера и файлы шаблона.
Папки (подкаталогов), файлы, на которые имеются ссылки в файле .vsdir и файл сам по себе все .vsdir расположены в одном и том же каталоге. Когда интегрированная среда разработки запускает мастер отображает папку или файл или Создать проект OR Добавление нового элемента диалоговые окна среды разработки, выполняемых проверяет каталог, содержащий файлы, чтобы определить, присутствует ли файл .vsdir. Если файл .vsdir найден, интегрированная среда разработки считывает ее, чтобы определить, содержит ли он запись для выполненных или отображаемых папки или файла. Если запись найдена, интегрированная среда разработки использует данные при выполнении мастера или отображения содержимого.
В следующем примере кода из файла в SourceFiles.vsdir <EnvSDK>BscPrj \ раздел реестра \ BscPrj \ BscPrjProjectItems \ Source_Files:
HeaderFile.h|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#125|130|#126|0|0|0|#127
SourceFile.cpp|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#122|110|#123|0|0|0|#124
В данном случае 2 записей в одном файле. Новая линия (символ возврата каретки) разделяет каждую запись. Каждая линия представляет другой тип файла. Вертикальная черта (|) отделяет поля в каждой записи. Один каталог может содержать несколько файлов .vsdir, которые имеют различные имена файлов или можно создать один файл .vsdir для каждого типа файла.
Поля
В следующей таблице перечислены поля, определенные для каждой записи.
Поле |
Описание |
---|---|
Имя относительного пути (RelPathName) |
Имя папки шаблона или файла vsz, как HeaderFile.h или MyWizard.vsz. Это поле также может быть именем, используемым для представления папку. |
{clsidPackage} |
Идентификатор GUID VSPackage, разрешает доступ к локализованных строк, например LocalizedName, описание IconResourceId и SuggestedBaseName в VSPackage вспомогательных ресурсах библиотеки динамической компоновки (DLL). IconResourceId применяется, если DLLPath не предоставляется. Примечание Это поле необязательно, если один или несколько из предыдущих полей не будут идентификатор ресурса.Обычно это поле пусто для файлов .vsdir, совпадающие со сторонним мастерами, локализуют их текста. |
LocalizedName |
Локализованное имя файла или мастера шаблонов. Это поле может быть строка либо идентификатор ресурса в форме #ResID" ". Это имя отображается в Добавление нового элемента диалоговое окно. Примечание Если LocalizedName идентификатор ресурса, {clsidPackage}. |
SortPriority |
Целое число, представляющее относительный приоритет данного файла или мастера шаблонов. Например, если этот элемент имеет значение 1, этот элемент отображается рядом с другими элементами со значением 1 и впереди всех элементов со значением сортировки 2 или больше. Приоритет сортировки по отношению к элементам в том же каталоге. Может быть несколько файлов .vsdir в том же каталоге. В этом случае элементы из всех .файлы vsdir в этом каталоге объединяются. Элементы с тем же приоритетом, перечислены в обращение-нечувствительном лексикографическом порядке, отображаемого имени. _wcsicmp функция используется для упорядочения элементов. Элементы, не описанные в файлах .vsdir включают приоритетный числа больше наибольшего числа приоритетный, указанные в файлах .vsdir. В результате эти элементы в конец отображаемого списка, независимо от их имени. |
Описание |
Локализованное описание файла или мастера шаблонов. Это поле может быть строка либо идентификатор ресурса в форме #ResID" ". Эта строка отображается в Создать проект OR Добавление нового элемента диалоговое окно при выделении элемента. |
DLLPath или {clsidPackage} |
Используется для загрузки значок файла или мастера шаблонов. Значок загружается как ресурс из dll-файла или exe-файла с помощью IconResourceId. Эти dll-файла или exe-файла могут быть определены или с помощью полного пути или с помощью идентификатора GUID VSPackage. Библиотека DLL реализации VSPackage используется для загрузки значок (не вспомогательной библиотеки DLL). |
IconResourceId |
Идентификатор ресурса в библиотеке DLL или DLL реализации VSPackage, определяющие значка для отображения. |
Флаги (__VSDIRFLAGS) |
Используется для отключения или включения Имя и Расположение поля Добавление нового элемента диалоговое окно. Значение Флаги поле десятичное число сочетание битовых флагов, которые требуются. Когда пользователь выбирает элемент в NEW на вкладке проект указывающее, отображаются ли поле имя и местоположение, если поле Добавление нового элемента диалоговое окно первом отображении. Элемент через файл .vsdir, могут отслеживать только при отключенном, включено ли поле в отношении элемент выбран. |
SuggestedBaseName |
Представляет имя по умолчанию для файла мастера или шаблона. Это поле или строка либо идентификатор ресурса в форме #ResID" ". Интегрированная среда разработки использует это значение, чтобы задать имя по умолчанию для элемента. Эта базовое значение добавляется с целым числом, чтобы сделать имя уникальным, как MyFile21.asp. В предыдущем списке, описание DLLPath, IconResourceId, флаги, и SuggestedBaseNumber применяются только к файлам шаблонов и мастера. Эти поля не применяются к папкам. Этот факт проиллюстрирован в коде в файле в BscPrjProjectItems <EnvSDK>BscPrj \ раздел реестра \ BscPrj \ BscPrjProjectItems. Этот файл содержит 3 записей (по одной для каждой папки) с 4 полями для каждой записи. RelPathName, {clsidPackage}, LocalizedName и SortPriority. General|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#110|100 Source_Files|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#111|110 Env|{E59935A1-6156-11d1-87A6-00A0C91E2A46}|#112|120 |
При создании файла мастера также следует учитывать следующие моменты.
Любое необязательное поле, для которого нет определенного значения, должно содержать ноль (0) в качестве заполнителя.
Если локализованное имя не указано, то имя относительного пути используется в файле мастера.
DLLPath переопределяет clsidPackage для местоположения значка.
Если значок не определен, интегрированная среда разработки подставляет значок по умолчанию для файла, имеющего то расширение.
Если предложенное базовое имя не указано, "проект" используется.
При удалении файлов vsz, папки и файлы шаблона, необходимо также удалить их связанные записи из файла .vsdir.