Регистрация обработчиков команд сборки взаимодействия
VSPackage должен зарегистрировать в Visual Studio, чтобы интегрированная среда разработки (IDE) правильно перенаправила свои команды.
Реестр можно обновить вручную или с помощью файла регистратора (rgs). Для получения дополнительной информации см. Creating Registrar Scripts.
Платформа управляемого ProvideMenuResourceAttribute пакета (MPF) предоставляет эту функцию через класс.
- Ресурсы ссылочного формата командной таблицы находятся в неуправляемых вспомогательных библиотеках пользовательского интерфейса.
Регистрация обработчика команд ДЛЯ VSPackage
VsPackage, выполняющий роль обработчика для команд на основе пользовательского интерфейса (UI), требует записи реестра с именем VSPackage GUID
. Эта запись реестра указывает расположение файла ресурсов пользовательского интерфейса VSPackage и ресурса меню в этом файле. Сама запись реестра находится в разделе HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\<Version>\Menus, где< версия> — версия Visual Studio, например 9.0.
Примечание.
Корневой путь HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> можно переопределить с альтернативным корнем при инициализации оболочки Visual Studio. Дополнительные сведения об корневом пути см. в разделе "Установка VSPackages с помощью установщика Windows".
Запись реестра ресурсов CTMENU
Структура записи реестра:
HKEY_LOCAL_MACHINE\Software\VisualStudio\<Version>\
Menus\
<GUID> = <Resource Information>
<GUID> — это GUID
VSPackage в форме {XXXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXXXXXXX}.
<Сведения о> ресурсах состоят из трех элементов, разделенных запятыми. Ниже приведены следующие элементы:
<Путь к библиотеке DLL> ресурсов,< идентификатору> ресурса меню, <версии меню>
В следующей таблице описываются поля сведений о ресурсах<.>
Элемент | Description |
---|---|
<Путь к библиотеке DLL ресурсов> | Это полный путь к библиотеке DLL ресурсов, содержащей ресурс меню, или он остается пустым, указывая, что библиотека DLL ресурсов VSPackage должна использоваться (как указано в подразделе "Пакеты", где зарегистрирован сам VSPackage). Обычно это поле остается пустым. |
<Идентификатор ресурса меню> | Это идентификатор CTMENU ресурса ресурса, который содержит все элементы пользовательского интерфейса для VSPackage, скомпилированный из VSCT-файла . |
<Версия меню> | Это число, используемое в качестве версии для CTMENU ресурса. Visual Studio использует это значение для определения необходимости повторного объединения содержимого CTMENU ресурса с кэшем всех CTMENU ресурсов. Повторная активация активируется с помощью команды установки devenv.Изначально это значение должно быть равно 1 и увеличиваться после каждого изменения CTMENU ресурса и перед повторением. |
Пример
Ниже приведен пример нескольких записей ресурсов:
HKEY_LOCAL_MACHINE\Software\VisualStudio\9.0Exp\
Menus\
{019971D6-4685-11D2-B48A-0000F87572EB} = ,1, 10
{1b027a40-8f43-11d0-8d11-00a0c91bc942} = , 10211, 3