Vincular atalhos de teclado a itens de menu

Para vincular um atalho de teclado a um comando de menu personalizado, basta adicionar uma entrada ao arquivo .vsct do pacote. Este tópico explica como mapear um atalho de teclado para um botão, item de menu ou comando da barra de ferramentas personalizado 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.

Escolha uma combinação de teclas

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 janela Ambiente de Opções>de Ferramentas>, selecione Teclado.

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

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

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

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

    Observação

    Atalhos de teclado que usam Alt podem abrir um menu e não executar diretamente um comando. Portanto, o atalho usado atualmente por caixa pode estar em branco quando você digita um atalho que inclui 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 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 o <Commands> se ela ainda não estiver presente.

    Aviso

    Para obter mais informações sobre ligações de chave, consulte Vinculação de chaves.

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

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

    Defina o mod1 atributo como Control, Alt ou Shift.

    A seção KeyBindings deve ter a seguinte 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 mod2 atributos 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 teclas alfanuméricas digite uma letra maiúscula ou um símbolo.

    Os códigos de chave virtual permitem acessar teclas especiais que não têm um caractere associado a elas, por exemplo, teclas de função e a tecla 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 tornar o comando disponível somente em um editor personalizado, defina o atributo para o nome do editor personalizado que foi gerado pelo modelo de pacote do Visual Studio quando você criou o VSPackage que inclui o editor editor personalizado. Para localizar o valor do nome, procure na <Symbols> seção um <GuidSymbol> nó cujo name atributo termina em "editorfactory." Este é o nome do editor personalizado.

Exemplo 1

Este exemplo vincula 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 vincula 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="guidVSStd97" id="cmdidBold" editor="guidTestEditorEditorFactory" key1="B" mod1="Control" />