Compartilhar via


How to: Vincular a um comando para vários atalhos de Teclado

Você pode vincular mais de um atalho de teclado para um comando. Isso pode ser útil quando, por exemplo, dois usuários que trabalham em um projeto preferem um atalho de diferente para o mesmo comando. Esta ligação é feita ao passar os atalhos como elementos da cadeia de caracteres em uma matriz do tipo Object.

ObservaçãoObservação

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Trabalhando com configurações.

Para vincular a um comando para vários atalhos de teclado

  1. Use o Visual Studio Add-In Wizard para criar um suplemento. Nome do projeto e clique em OK para iniciar o assistente.

    Para obter mais informações sobre como usar o Visual Studio Add-In Wizard, consulte How to: Criar um Adicionar-.

  2. No Select a Programming Language de página, selecione uma Create an Add-in usando Visual C# para executar o Visual C# exemplo neste tópico, ou criar um suplemento usando Visual Basic para executar o Visual Basic exemplo.

  3. Colar a função de exemplo na Connect a classe do código gerado pelo Visual Studio Add-In Wizard.

  4. Para criar uma cópia do padrão de configurações de teclado, vá para.. \Arquivos de Programas\Microsoft Visual Studio 10\Common7\IDE\. Clique com o botão direito dos arquivos .vsk e clique em Copy. Cole a cópia na mesma pasta. A cópia é denominada "cópia de nome de arquivo .vsk".

  5. Renomeie a cópia do arquivo.

  6. Para verificar o novo arquivo de .vsk aparece na lista de ligações de teclado, em Visual Studio clique em Opções sobre o Ferramentas menu.

  7. No painel esquerdo do Opções caixa de diálogo caixa, expanda o ambiente pasta e selecione teclado.

    Certifique-se de que o nome do arquivo .vsk que você renomeou anteriormente consta o Aplicar o esquema de mapeamento de teclado adicionais seguintes lista.

  8. Antes de executar o suplemento de exemplo, certifique-se de que as ligações de teclado são definidas como (padrão). Você pode fazer isso clicando em Redefinir na teclado o painel da Opções caixa de diálogo.

  9. No prop.Value = "< Filename.vsk>" etapa do exemplo Add-in, substitua <Filename.vsk> usando o novo nome de esquema de teclado que você especificou anteriormente.

  10. Chamar a função a partir de OnConnection método, conforme descrito em How to: Compilar e executar os exemplos de código de modelo de objeto de automação.

  11. Criar o suplemento e execute-o clicando em Gerenciador de suplementos na Ferramentas menu, selecionando add-in que você criou e, em seguida, clicando em OK.

    O comando é vinculado a duas teclas de atalho diferente. Pressione CTRL + SHIFT + ALT + Y ou CTRL + SHIFT + ALT + X para exibir o Novo arquivo caixa de diálogo.

Exemplo

O exemplo a seguir substitui o atalho de teclado existentes usando dois novos.

Public Sub OnConnection(ByVal application As Object, ByVal _
connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    BindSingle(_applicationObject)
End Sub
Sub BindSingle(ByVal dte As DTE2)
    ' Adds two new keybindings to a command.
    Dim cmds As Commands
    Dim cmd As Command
    Dim props As EnvDTE.Properties = DTE.Properties("Environment", _"Keyboard")
    Dim prop As EnvDTE.Property
    Dim bindings(1) As Object

    ' Make a writeable copy of the default keymapping scheme.
    prop = props.Item("SchemeName")
    prop.Value = "<FileName.vsk>"
    ' Assign the two shortcut key combinations, CTRL+SHIFT+ALT+Y and 
    ' CTRL+SHIFT+ALT+X, to the two bindings array elements. 
    bindings(0) = "Global:: CTRL+SHIFT+ALT+Y"
    bindings(1) = "Global:: CTRL+SHIFT+ALT+X"
    ' Set references to the Commands collection and the File.NewFile
    ' command.
    cmds = DTE.Commands
    cmd = cmds.Item("File.NewFile")
    ' Assign the contents of the bindings array to the Bindings 
    ' property.
    cmd.Bindings = bindings
End Sub
public void OnConnection(object application,
 ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    BindMultiple(_applicationObject ); 
}

public void BindMultiple( DTE2 dte ) 
{ 
    // Adds two new keybindings to a command.
    Commands cmds = null; 
    Command cmd = null; 
    EnvDTE.Properties props = dte.get_Properties( "Environment",
 "Keyboard"); 
    EnvDTE.Property prop = null; 
    Object[] bindings = new Object[ 2 ]; 

    // Make a writeable copy of the default keymapping scheme.
    prop = props.Item( "SchemeName" ); 
    prop.Value = "<FileName.vsk>"; 
    // Assign the two shortcut key combinations, CTRL+SHIFT+ALT+Y and 
    // CTRL+SHIFT+ALT+X, to the two bindings array elements. 
    bindings[ 0 ] = "Global:: CTRL+SHIFT+ALT+Y"; 
    bindings[ 1 ] = "Global:: CTRL+SHIFT+ALT+X"; 
    // Set references to the Commands collection and the File.NewFile
    // command.
    cmds = dte.Commands; 
    cmd = cmds.Item( "File.NewFile", -1 ); 
    // Assign the contents of the bindings array to the Bindings 
    // property.
    cmd.Bindings = bindings; 
} 

Consulte também

Tarefas

How to: Vincular a um comando a uma única tecla de atalho

How to: Preservar os atalhos de Teclado existentes

Conceitos

Ligações de parâmetro da propriedade Formatar

Outros recursos

Ligação Adicionar-nos comandos Chaves