Como: criar grupos reutilizáveis de botões
Um grupo de comandos é uma coleção de comandos que sempre aparecem juntos em um menu ou barra de ferramentas. Qualquer grupo de comando pode ser reutilizado, atribuindo a ela para menus de pai diferentes a CommandPlacements seção do arquivo .vsct.
Grupos de comando normalmente contêm botões, mas eles também podem conter outros menus ou combo caixas.
Para criar um grupo reutilizável de botões
Criar um VSPackage executando o modelo de pacote de Visual Studio e, em seguida, selecione Comando de Menu sobre o Selecionar opções de VSPackage página. Como alternativa, você pode abrir um projeto existente que contém o arquivo .vsct. Para obter mais informações, consulte Passo a passo: Criando um comando de Menu usando o modelo de pacote de Visual Studio.
Abra o arquivo de .vsct no projeto.
No Symbols seção, encontrar o GuidSymbol elemento que contém comandos para o projeto e grupos.
Por padrão, ele é denominado guid<ProjectName>CmdSet.
Adicionar um IDSymbol elemento para seu grupo e um para cada botão que será adicionado ao grupo, conforme mostrado no exemplo a seguir.
<GuidSymbol name="guidButtonGroupCmdSet" value="{f69209e9-975a-4543-821d-1f4a2c52d737}"> <IDSymbol name="MyMenuGroup" value="0x1020" /> <IDSymbol name="cmdidMyCommand" value="0x0100" /> </GuidSymbol>
Por padrão, o modelo de pacote cria um grupo chamado MyGroup e um botão que tem o nome que você forneceu, em conjunto com um IDSymbol a entrada para cada um.
No Groups seção, crie um novo grupo o elemento que tenha o mesmo guid e id atributos como as indicadas na Symbols seção. Você também pode usar um grupo existente ou usar a entrada fornecida pelo modelo de pacote, conforme mostrado no exemplo a seguir.
<Group guid="guidButtonGroupCmdSet" id="MyMenuGroup" priority="0x0600"> <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/> </Group>
O grupo padrão, que é mostrado no exemplo, é exibido sobre o Visual Studio Ferramentas menu.
Para preencher um grupo de botões para reutilização
Você pode colocar um menu ou comando em um grupo usando o grupo como um pai na definição do comando ou menu, ou colocando o comando ou o menu do grupo usando o CommandPlacements seção.
Um botão é definido como um botão elemento dentro do botões seção. Definir um botão que possui o seu grupo pai, ou use o botão que é fornecido pelo modelo de pacote, conforme mostrado no exemplo a seguir.
<Button guid="guidButtonGroupCmdSet" id="cmdidMyCommand" priority="0x0100" type="Button"> <Parent guid="guidButtonGroupCmdSet" id="MyMenuGroup" /> <Icon guid="guidImages" id="bmpPic1" /> <Strings> <CommandName>cmdidMyCommand</CommandName> <ButtonText>My Command name</ButtonText> </Strings> </Button>
Se um botão deve aparecer em mais de um grupo, criar uma entrada para ele no CommandPlacements seção. Definir o guid e id atributos da CommandPlacement elemento para que correspondam do botão que deseja posicionar e, em seguida, defina a guid e id de seu pai elemento do grupo-alvo, conforme mostrado no exemplo a seguir.
<CommandPlacements> <CommandPlacement guid="guidButtonGroupCmdSet" id="cmdidMyCommand" priority="0x105"> <Parent guid="guidButtonGroupCmdSet" id="MyMenuGroup" /> </CommandPlacement> </CommandPlacements>
Dica
O valor da Priority campo determina a posição do comando no novo grupo de comando.Prioridades definido na CommandPlacement elemento substituem aqueles definidos na definição do item.Comandos que têm valores de prioridade inferiores são exibidos antes de comandos que têm valores de prioridade mais altos.São permitidos valores de prioridade duplicados, mas a posição relativa de comandos que têm o mesmo valor de prioridade não pode ser garantida porque a ordem em que o devenv setup comando cria o final interface do Registro pode não estar consistente.
Para colocar um grupo reutilizável de botões em um menu
Criar uma entrada na CommandPlacements seção. Definir o GUID e a identificação da CommandPlacement elemento para as pessoas do seu grupo e definir o pai GUID e ID do local de destino. Observe que um grupo de comando pode ser incluído em mais de um menu. Menu pai pode ser aquele que você criou, aquele que é fornecida por Visual Studio (como descrito em ShellCmdDef.vsct ou SharedCmdDef.vsct), ou um que é definido em outro VSPackage. O número de camadas de elevação de nível é ilimitado, desde que o menu pai eventualmente está conectado à Visual Studio ou a um menu de atalho é exibido por um VSPackage.
O exemplo a seguir coloca o grupo sobre o Solution Explorer barra de ferramentas, à direita dos outros botões.
<CommandPlacements> <CommandPlacement guid="guidButtonGroupCmdSet" id="MyMenuGroup" priority="0x605"> <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS" /> </CommandPlacement> </CommandPlacements>
Consulte também
Tarefas
Como: criar e manipular comandos em VSPackages (C#)