Compartilhar via


Associar atalhos de teclado a itens de menu

Para associar um atalho de teclado a um comando de menu personalizado, basta adicionar uma entrada ao arquivo .vsct para o pacote. Este tópico explica como mapear um atalho de teclado para um botão personalizado, item de menu ou comando de barra de ferramentas e como aplicar o mapeamento de teclado no editor padrão ou limitá-lo a um editor personalizado.

Para atribuir atalhos de teclado a itens de menu existentes do Visual Studio, consulte Identificar e personalizar atalhos de teclado.

Escolher uma combinação de chaves

Muitos atalhos de teclado já são usados no Visual Studio. Você não deve atribuir o mesmo atalho a mais de um comando porque associações duplicadas são difíceis de detectar e também podem causar resultados imprevisíveis. Portanto, é uma boa ideia verificar a disponibilidade de um atalho antes de atribuí-lo.

Para verificar a disponibilidade de um atalho de teclado

  1. Na janelaAmbiente deOpções> de Ferramentas>, selecione Teclado.

  2. Certifique-se de que Usar novo atalho em esteja definido como Global.

  3. Na caixa Pressionar teclas de atalho , digite o atalho de teclado que você deseja usar.

    Se o atalho já estiver sendo usado no Visual Studio, a caixa Atalho usado atualmente por mostrará o comando que o atalho chama no momento.

  4. Experimente diferentes combinações de chaves até encontrar uma que não esteja mapeada.

    Observação

    Os atalhos de teclado que usam Alt podem abrir um menu e não executar diretamente um comando. Portanto, a caixa atalho usado atualmente por pode estar em branco quando você digitar um atalho que inclua Alt. Você pode verificar se o atalho não abre um menu fechando a caixa de diálogo Opções e pressionando as teclas.

    O procedimento a seguir pressupõe que você tenha um VSPackage existente com um comando de menu. Se você precisar de ajuda para fazer isso, dê uma olhada em Criar uma extensão com um comando de menu.

Para atribuir um atalho de teclado a um comando

  1. Abra o arquivo .vsct do pacote.

  2. Crie uma seção vazia <KeyBindings> após <Commands> caso ela ainda não esteja presente.

    Aviso

    Para obter mais informações sobre associações de chave, consulte Keybinding.

    Na seção <KeyBindings>, crie uma entrada <KeyBinding>.

    Defina os atributos guid e id para aqueles do comando que você deseja invocar.

    Defina o mod1 atributo como Control, Alt ou Shift.

    A seção KeyBindings deve ter esta aparência:

    <KeyBindings>
        <KeyBinding guid="<name of command set>" id="<name of command id>"
            editor="guidVSStd97" key1="1" mod1="CONTROL"/>
    </KeyBindings>
    
    

    Se o atalho de teclado exigir mais de duas teclas, defina os atributos mod2 e key2.

    Na maioria das situações, Shift não deve ser usado sem um segundo modificador porque pressioná-lo já faz com que a maioria das chaves alfanuméricas digite uma letra maiúscula ou um símbolo.

    Os códigos de chave virtual permitem que você acesse chaves especiais que não têm um caractere associado a elas, por exemplo, chaves de função e a chave de backspace . Para obter mais informações, consulte códigos de chave virtual.

    Para disponibilizar o comando no editor do Visual Studio, defina o editor atributo como guidVSStd97.

    Para disponibilizar o comando somente em um editor personalizado, defina o editor atributo como o nome do editor personalizado que foi gerado pelo Modelo de Pacote do Visual Studio quando você criou o VSPackage que inclui o editor personalizado. Para localizar o valor do nome, procure na seção <Symbols> um nó <GuidSymbol> cujo atributo name termine com “editorfactory”. Esse é o nome do editor personalizado.

Exemplo 1

Este exemplo associa o atalho de teclado Ctrl+Alt+C a um comando nomeado cmdidMyCommand em um pacote chamado MyPackage.

<CommandTable>
. . .
<Commands>
. . .
</Commands>
<KeyBindings>
  <KeyBinding guid="guidMyPackageCmdSet" id="cmdidMyCommand"
      key1="C" mod1="CONTROL" mod2="ALT" editor="guidVSStd97" />
</KeyBindings>
. . .
</CommandTable>

Exemplo 2

Este exemplo associa o atalho de teclado Ctrl+B a um comando nomeado cmdidBold em um projeto chamado TestEditor. O comando está disponível apenas no editor personalizado e não em outros editores.

<KeyBinding guid="guidTestEditorEditorFactory" id="cmdidBold" editor="guidVSStd97" key1="B" mod1="Control" />