How to: Manipular eventos em uma Macro

Há dois tipos de eventos no ambiente de desenvolvimento integrado (IDE) — eventos que se aplicam a todos os projetos e eventos que se aplicam a tipos de projeto somente específicas. Adicionar um novo arquivo, selecionando uma opção de menu e fechamento de uma janela são exemplos de eventos que se aplicam a todos os tipos de projeto. Exemplos de eventos que se aplicam somente aos tipos de projeto específicos incluem a adição de uma referência ou uma referência da Web a um projeto.

Essa tarefa pressupõe que você saiba como acessar o ambiente de desenvolvimento de Macros e crie um projeto de macro. Para obter mais informações, consulte Automatizar ações repetitivas usando Macros.

Este exemplo demonstra como responder a eventos de janela, que se aplicam a 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çãoObservação

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritos na Ajuda, dependendo das configurações ativas ou configurações de edição. Esses procedimentos foram desenvolvidos com o General Development Settings ativo. Para alterar as configurações, escolha Import and Export Settings sobre o Ferramentas menu. Para obter mais informações, consulte Trabalhando com configurações.

Para capturar um evento com neutralidade de idioma

  1. Em MyMacros, crie um novo módulo de macro e o nome CaptureEvents.

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

    Public WithEvents windowEvents As EnvDTE.WindowEvents
    
  3. No módulo EnvironmentEvents, use o Nome da classe e Nome do método caixas de lista suspensa no editor de IDE de Macros para criar um WindowClosing a rotina de manipulação de eventos para variável, ou recortar e colar 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. Volte para o ambiente de desenvolvimento e fechar a janela ativa.

    A caixa de mensagem aparece. Esta mensagem é exibida sempre que você fecha a janela ativa. Exclua o manipulador de eventos se não desejar ser informado sempre que a janela ativa é fechada.

Adicionando uma referência a um projeto

Este exemplo demonstra como responder a adicionar uma referência a um projeto. Os eventos específicos do idioma estão contidos no Events propriedade. Este exemplo fornece um aplicativo específico do projeto de vinculação para 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 How to: Criar um manipulador de eventos em uma Macro para um Tipo específico de projeto.Para executar esse exemplo, você deve ter um Visual Basic ou Visual C# projeto aberto no Visual Studio IDE.

Para capturar um evento de Visual Basic ou C# Visual

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

  2. Adicione uma referência a VSLangProj selecionando Adicionar Reference… partir do projeto menu no ambiente de desenvolvimento integrado a Macros (IDE). Sobre o Add Reference caixa de diálogo, selecione VSLangProj, clique em OKe, em seguida Add.

  3. No módulo EnvironmentEvents, expanda o gerado automaticamente o código, não modifique recolhidos de seção e, em seguida, adicione um nível de módulo ReferencesEvents variável.

    Dim WithEvents refEvents As VSLangProj.ReferencesEvents
    
  4. Use o Nome da classe e Nome do método caixas de lista suspensa 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. Clique com o botão direito no módulo de CaptureRefEvents a Macro Explorer. Selecione Nova Macro no menu drop-down. Recorte 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. Salve a macro ConnectRefEvents.

  7. No Visual Studio IDE, abra uma Visual Basic ou Visual C# project.

  8. Execute a macro ConnectRefEvents.

  9. Adicione uma referência ao projeto no Visual Studio IDE.

    Uma caixa de mensagem aparece com o texto: "<nome de referência> foi adicionado ao projeto".

Consulte também

Referência

Events

Events2