Udostępnij za pośrednictwem


Rejestrowanie programów obsługi zestawu międzyoperacyjnego

Pakiet VSPackage musi zarejestrować się w programie Visual Studio, aby zintegrowane środowisko projektowe (IDE) prawidłowo kieruje polecenia.

Rejestr można zaktualizować ręcznie lub za pomocą pliku rejestratora (rgs). Aby uzyskać więcej informacji, zobacz Tworzenie skryptów rejestratora.

Program Managed Package Framework (MPF) udostępnia tę funkcję za pośrednictwem ProvideMenuResourceAttribute klasy .

  • Zasoby referencyjne formatu tabeli poleceń znajdują się w niezarządzanych bibliotekach dll interfejsu użytkownika satelity.

Rejestracja programu obsługi poleceń pakietu VSPackage

Pakiet VSPackage działający jako program obsługi poleceń opartych na interfejsie użytkownika wymaga wpisu rejestru o nazwie po pakietach VSPackage GUID. Ten wpis rejestru określa lokalizację pliku zasobu interfejsu użytkownika pakietu VSPackage i zasób menu w tym pliku. Wpis rejestru znajduje się w folderze HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\Version>\<Menus, gdzie <wersja to wersja> programu Visual Studio, na przykład 9.0.

Uwaga

Ścieżka główna HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> może zostać zastąpiona alternatywnym katalogiem głównym podczas inicjowania powłoki programu Visual Studio. Aby uzyskać więcej informacji na temat ścieżki głównej, zobacz Instalowanie pakietów VSPackage za pomocą Instalatora Windows.

Wpis rejestru zasobów CTMENU

Struktura wpisu rejestru to:

HKEY_LOCAL_MACHINE\Software\VisualStudio\<Version>\
  Menus\
    <GUID> = <Resource Information>

<Identyfikator GUID> jest GUID pakietem VSPackage w postaci {XXXXXX-XXXX-XXXX-XXXXXXXXX}.

<Informacje o> zasobie składają się z trzech elementów rozdzielonych przecinkami. Te elementy są w następującej kolejności:

<Ścieżka do biblioteki DLL> zasobu,< identyfikator> zasobu menu, <wersja menu>

W poniższej tabeli opisano pola informacji o> zasobach<.

Element opis
<Ścieżka do biblioteki DLL zasobów> Jest to pełna ścieżka do biblioteki DLL zasobu, która zawiera zasób menu lub jest pozostawiona pusta, co wskazuje, że biblioteka DLL zasobu pakietu VSPackage ma być używana (zgodnie z określoną w podkluczu Packages, w którym jest zarejestrowany sam pakiet VSPackage).

To pole jest niestandardowe, aby pozostawić to pole puste.
<Identyfikator zasobu menu> Jest to identyfikator zasobu, który zawiera wszystkie elementy interfejsu CTMENU użytkownika pakietu VSPackage skompilowane z pliku vsct .
<Wersja menu> Jest to liczba używana jako wersja zasobu CTMENU . Program Visual Studio używa tej wartości do określenia, czy musi ponownie połączyć zawartość CTMENU zasobu z pamięcią podręczną wszystkich CTMENU zasobów. Ponowne rozmieszczenie jest wyzwalane przez wykonanie polecenia devenv setup.

Ta wartość powinna początkowo być ustawiona na 1 i zwiększana po każdej zmianie CTMENU zasobu i przed wystąpieniem ponownego rozmieszczenia.

Przykład

Oto przykład kilku wpisów zasobów:

HKEY_LOCAL_MACHINE\Software\VisualStudio\9.0Exp\
  Menus\
    {019971D6-4685-11D2-B48A-0000F87572EB} = ,1, 10
    {1b027a40-8f43-11d0-8d11-00a0c91bc942} = , 10211, 3