Como: BIND um comando para várias combinações de teclas de atalho

Em vez de um atalho único de ligação combinação de teclas para um comando como alternativa você pode ligar vários atalho chave s a ele.Isso pode ser útil, por exemplo, se dois usuários trabalhando em um projeto preferem teclas de atalho diferente para emitir o mesmo comando.Isso é realizado, passando sistema autônomo teclas de atalho sistema autônomo elementos de seqüência de caracteres de uma matriz do tipo Object.

Observação:

As caixas de diálogo e comandos de menu que você vê podem diferir das descritas no Help dependendo de suas configurações ativas ou edição. Esses procedimentos foram desenvolvidos com o Geral Development Settings ativo.Para alterar as configurações, escolher Import and ExportSettings on the Tools menu.Para obter mais informações, consulte Configurações do Visual Studio.

Para BIND um comando a uma tecla de atalho de tecla várias

  1. Use o Assistente do Visual Studio suplemento para criar um novo Add-in.Nomeie o projeto e clicar OK para iniciar o assistente.

    Para obter mais informações sobre como usar o Assistente do Visual Studio suplemento, see Como: Criar um suplemento.

  2. Sobre o selecionar uma linguagem de programação , selecionar um dos Criar Suplemento usando translation from VPE for Csharp Visual para executar o Visual C# exemplo abaixo, ou Criar um suplemento usando Visual Basic para executar o Visual Basic exemplo.

  3. Colar a função de exemplo abaixo na classe de conectar o código gerado pelo Assistente do Visual Studio suplemento.

  4. Para criar uma cópia do padrão as configurações de teclado, vá para c:\Arquivos de Programas\Microsoft Visual Studio n:\programa.

  5. clicar com o botão direito do mouse em um dos arquivos vsk e selecionar Cópia no menu de atalho.

  6. Cole a cópia na mesma pasta.

    A cópia é chamada de "Cópia de < nome de arquivo vsk >".

  7. Renomeie o arquivo copiado.

  8. Para verificar se o novo arquivo vsk aparece na lista de ligações de teclado, em Visual Studio clicar Opções on the Ferramentas menu.

  9. No painel esquerdo do Opções diálogo caixa, expandir o Ambiente pasta e selecionar Teclado.

    Verifique se o nome do arquivo de vsk que você renomeou na etapa 7 aparece no Aplicar o esquema de mapeamento de teclado adicionais seguintesmenu suspenso de .

  10. Antes de executar o suplemento de exemplo, certifique-se de que as ligações de teclado estão definidas como (Padrão).Você pode fazer isso clicando em reiniciar in the Teclado painel do Opções caixa de diálogo.

  11. No prop.Value = "< Filename.vsk>" etapa of the Add - in de exemplo, substitua <Filename.vsk> com o novo nome do esquema de teclado que você especificou na etapa 7.

  12. Chamar a função a partir de OnConnection método conforme descrito em Como: Compilar e executar os exemplos de códigos automação objeto modelo.

  13. Crie o suplemento.

  14. Para executar o suplemento, clicar Gerenciador de suplemento on the Ferramentas menu, selecionar o suplemento que você criou e clicar OK.

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

Exemplo

O exemplo a seguir substitui a chave existente com dois novos de vinculação.

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

Como: BIND um comando a uma única tecla de atalho

Como: Preserve existing comando chave ligações

Conceitos

Vinculações de propriedade parâmetro Format

Outros recursos

Ligação suplemento comandos as chaves