Compartilhar via


Registrando manipuladores de comando de assembly de interoperabilidade

Um VSPackage deve se registrar com o Visual Studio para que o ambiente de desenvolvimento integrado (IDE) roteie seus comandos corretamente.

O registro pode ser atualizado por edição manual ou usando um arquivo de registrador (.rgs). Para obter mais informações, consulte Criando scripts de registrador.

O Managed Package Framework (MPF) fornece essa funcionalidade por meio da ProvideMenuResourceAttribute classe.

Registro do manipulador de comandos de um VSPackage

Um VSPackage agindo como um manipulador para comandos baseados na interface do usuário (UI) requer uma entrada do Registro com o nome do VSPackage GUID. Essa entrada do Registro especifica o local do arquivo de recurso da interface do usuário do VSPackage e o recurso de menu dentro desse arquivo. A entrada do Registro em si está localizada em HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\Version\Menus, onde <Version>> é a versão do Visual Studio, por exemplo, 9.0.<

Observação

O caminho raiz de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> pode ser substituído por uma raiz alternativa quando o shell do Visual Studio é inicializado. Para obter mais informações sobre o caminho raiz, consulte Instalando VSPackages com o Windows Installer.

A entrada de registro de recurso CTMENU

A estrutura da entrada de registro é:

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

<GUID> é o GUID do VSPackage no formato {XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX}.

<As Informações> de Recursos consistem em três elementos separados por vírgulas. Esses elementos são, em ordem:

<Caminho para DLL, ID> do recurso de menu, <<Versão do menu>>

A tabela a seguir descreve os campos de Informações> do <Recurso.

Element Descrição
<Caminho para a DLL do recurso> Esse é o caminho completo para a DLL de recurso que contém o recurso de menu ou isso é deixado em branco, indicando que a DLL de recurso do VSPackage deve ser usada (conforme especificado na subchave Pacotes onde o próprio VSPackage está registrado).

É costume deixar esse campo em branco.
<ID do recurso de menu> Essa é a ID do recurso que contém todos os elementos da interface do CTMENU usuário para o VSPackage conforme compilado de um arquivo .vsct .
<Versão do Menu> Este é um número usado como uma versão para o CTMENU recurso. Visual Studio usa esse valor para determinar se ele precisa mesclar novamente o CTMENU conteúdo do recurso com seu cache de todos os CTMENU recursos. Uma remesclagem é acionada executando o comando devenv setup.

Esse valor deve ser inicialmente definido como 1 e incrementado CTMENU após cada alteração no recurso e antes que a refusão ocorra.

Exemplo

Aqui está um exemplo de algumas entradas de recursos:

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