Partilhar via


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 para o pacote. Este tópico explica como mapear um atalho de teclado para um botão personalizado, item de menu ou comando da 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.

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 ligações duplicadas são difíceis de detetar 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 Ferramentas>Opções>Ambiente, 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 deseja usar.

    Se o atalho já for usado no Visual Studio, a caixa Atalho usado atualmente 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

    Os atalhos de teclado que usam Alt podem abrir um menu e não executar diretamente um comando. Portanto, o atalho usado atualmente pela 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 seu pacote.

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

    Advertência

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

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

    Defina os guid atributos e id como os 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 teclas alfanuméricas digite uma letra maiúscula ou um símbolo.

    Os códigos de teclas virtuais 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 editor 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 personalizado. Para encontrar o valor do nome, procure um nó <GuidSymbol> na seção <Symbols> cujo atributo name termine 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="guidTestEditorEditorFactory" id="cmdidBold" editor="guidVSStd97" key1="B" mod1="Control" />