Como: Manipular eventos em uma macro

Há dois tipos de eventos no ambiente de desenvolvimento integrado (IDE) — eventos que aplicar a todos os projetos e eventos que aplicar somente aos tipos de projeto específico.Exemplos de eventos que aplicar para todos os tipos de projeto incluem adicionar um novo arquivo, selecionando uma opção de menu e fechar uma janela.Exemplos de eventos que aplicar projeto específicos apenas para os tipos incluem adicionando uma referência ou uma referência da Web para um projeto.

Essa tarefa pressupõe que você sabe como acesso o ambiente de desenvolvimento de macros e criar um projeto de macro.Para obter mais informações, consulte Automatizando Repetitive Actions by Using Macros.

Este exemplo demonstra como responder a eventos de janela, que aplicar para todos os Visual Studio projetos. Para obter mais informações sobre eventos que se aplicam a todos os idiomas, consulte Respondendo a eventos de automação.

Observação:

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritas na Ajuda, dependendo das configurações ativas ou configurações de edição.Esses procedimentos foram desenvolvidos com o Geral Development Settings ativo.Para alterar as configurações, escolher Importar e exportar configurações on the Ferramentas menu.Para obter mais informações, consulte Configurações do Visual Studio.

Para capturar um evento com neutralidade de linguagem

  1. In MyMacros, criar um novo módulo de macro e nomeie-CaptureEvents.

  2. Quando você criar uma nova macro, um módulo nomeado EnvironmentEvents é adicionado por padrão.Este módulo define muitos dos objetos de evento descritos na tabela listada em Respondendo a eventos de automação. No módulo EnvironmentEvents, a variável em nível de módulo WindowEvents já está declarado sistema autônomo mostrado abaixo.

    Public WithEvents windowEvents As EnvDTE.WindowEvents
    
  3. No módulo Environmenteventos, use o nome de classe and Nome do método suspensa caixas no editor do IDE de macros para criar um WindowClosing evento-rotina para a variável de manipulação ou recortar e cole o código a seguir.

    Public Sub windowEvents_WindowClosing( _
    ByVal Window As EnvDTE.Window) Handles windowEvents.WindowClosing
       MsgBox("You are closing the window.")
    End Sub
    
  4. Retorne ao ambiente de desenvolvimento e fechar a janela ativo.

    A caixa de mensagem é exibida.Esta mensagem é exibida cada time fechar a janela ativo.Excluir o evento manipulador se desejar ser informado toda vez que a janela ativo é fechada.

Adicionando uma referência a um projeto

Este exemplo demonstra como responder a adicionando uma referência a um projeto.Os eventos específicos do linguagem estão contidos no Events propriedade. Este exemplo fornece um aplicativo de projeto específicas de ligação de ReferencesEvents. Você também pode fornecer um manipulador de eventos de nível global, definindo o manipulador no módulo EnvironmentEvents.Para obter mais informações, consulte Como: Criar um manipulador evento em uma macro para um tipo específico de projeto.Para executar esse exemplo é necessário ter um Visual Basic, Visual J#, ou Visual C# projeto em aberto no Visual Studio IDE.

Para capturar um evento do Visual Basic, Visual J# ou Visual translation from VPE for Csharp

  1. Crie um novo módulo de macro, CaptureRefEvents.

  2. Adicione uma referência a VSLangProj selecionando Adicionar Reference… from the Projeto menu no IDE (ambiente de desenvolvimento integrado) a macros.Sobre o Adicionar referência caixa de diálogo de de seleçãoVSLangProj, clicar OK, and then Adicionar.

  3. No módulo EnvironmentEvents, expandir o Código gerado automaticamente, não modifique recolhido seção e adicione um nível de módulo ReferencesEvents variável.

    Dim WithEvents refEvents As VSLangProj.ReferencesEvents
    
  4. Use o nome de classe and Nome do método suspensa caixas no editor para criar rotinas de manipulação de eventos para a variável.

    Public Sub refEvents_ReferenceAdded(ByVal pReference As _
    VSLangProj.Reference) Handles refEvents.ReferenceAdded
       MsgBox(pReference.Name & " was added to the project.")
    End Sub
    
  5. clicar com o botão direito do mouse no módulo CaptureRefEvents no Gerenciador de Macro.selecionar Nova macro menu suspenso.recortar e cole o código a seguir para inicializar o refEvents variável.

    Public Sub ConnectRefEvents()
       Dim proj As VSLangProj.VSProject
       proj = CType(DTE.Solution.Projects.Item(1).Object, _
          VSLangProj.VSProject)
       refEvents = proj.Events.ReferencesEvents
    End Sub
    
  6. salvar a macro ConnectRefEvents.

  7. No Visual Studio IDE, abra um Visual Basic, Visual C# ou um Visual J# projeto.

  8. Execute a macro ConnectRefEvents.

  9. Adicionar uma referência para o projeto no Visual Studio IDE.

    Será exibida uma caixa de mensagem com o texto: "<Nome de referência > foi adicionado para o projeto. "

Consulte também

Referência

Events

Events2