Como: Manipular eventos usando macros
Quando você criar uma nova macro, um módulo nomeado EnvironmentEvents é adicionado por padrão.No Visual Studio .NET 2002 e Visual Studio .NET 2003, barras de comandos foram mencionadas no componente Microsoft.Office.Core.Respondendo a eventos de automaçãoIn $$$$, isso BAR de comandos funcionalidade está disponível em um componente referenciado sistema autônomo Microsoft.VisualStudio.CommandBars.dll. Juntamente com a oferta de toda a funcionalidade de barra de comandos oferecida pelo Microsoft.Office.Core, os novos recursos do assembly Microsoft.VisualStudio.CommandBars atualiza para alguns métodos.Como: Manipular eventos de ambiente em macros
Essas atualizações exigem algumas pequenas alterações ao código de automação existente em $$$$.
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 Import and ExportSettings on the Tools menu.Para obter mais informações, consulte Configurações do Visual Studio. |
Observe que as alterações são necessárias somente se recompilar seu código de suplemento ou executar uma macro que usa os tipos antigos.
Add the following code to the EnvironmentEvents module in the Macros IDE.
atualização o código do tipo de resolução.
As the macro adds items to and removes items from the Task List, the Task List events are handled.
Exemplo
Atualize qualquer código que chama DTE.CommandBars, Command.AddControl, Commands.RemoveCommandBar ou Commands.AddCommandBar.Visual StudioThis example adds tasks to and removes tasks from the Task List, responding to the events in the event handlers.
' Macro code.
Public Module EnvironmentEvents
Public Sub TaskListEvents_TaskAdded(ByVal TaskItem As _
EnvDTE.TaskItem) Handles TaskListEvents.TaskAdded
MsgBox("A task named '" & TaskItem.Description & "' was added _
to the Task List.")
' Put other code here that you want to execute when this
' event occurs.
End Sub
Public Sub TaskListEvents_TaskRemoved(ByVal TaskItem As _
EnvDTE.TaskItem) Handles TaskListEvents.TaskRemoved
MsgBox("A task named '" & TaskItem.Description & "' was _
removed from the Task List.")
' Put other code here that you want to execute when this
' event occurs.
End Sub
End Module
Sub EventsExample()
' Add items to and remove items from the Task List.
Dim TL As TaskList = dte.ToolWindows.TaskList
Dim TLItem As taskitem
' Add a couple of tasks to the Task List.
TLItem = TL.TaskItems.Add(" ", " ", "Test task 1.", _
vsTaskPriority.vsTaskPriorityHigh, vsTaskIcon.vsTaskIconUser, _
True, , 10, , )
TLItem = TL.TaskItems.Add(" ", " ", "Test task 2.", _
vsTaskPriority.vsTaskPriorityLow, vsTaskIcon.vsTaskIconComment, _
, , 20, , )
' List the total number of task list items after adding the new
' task items.
MsgBox("Task Item 1 description: " & _
TL.TaskItems.Item(2).Description)
MsgBox("Total number of task items: " & TL.TaskItems.Count)
' Remove the second task item. The items list in reverse numeric
' order.
MsgBox("Deleting the second task item")
TL.TaskItems.Item(1).Delete()
MsgBox("Total number of task items: " & TL.TaskItems.Count)
End Sub
Atrasado-limite propriedadesOnConnectionMethodPor exemplo:
Public Class Class1
Implements IDTExtensibility2
Dim objEventsClass As EventsClass
Public Sub OnConnection(ByVal Application As Object, ByVal _
ConnectMode As EnvDTE.ext_ConnectMode, ByVal AddInInst As _
Object, ByRef custom() As Object) Implements _
EnvDTE.IDTExtensibility2.OnConnection
objEventsClass = New EventsClass()
objEventsClass.TaskListEvents = _
_applicationObj.Events.TaskListEvents
End Sub
End Class
Public Class EventsClass
Public WithEvents TaskListEvents As EnvDTE.TaskListEvents
Private Sub TaskListEvents_TaskAdded(ByVal TaskItem As _
EnvDTE.TaskItem) Handles TaskListEvents.TaskAdded
MsgBox("A task named '" & TaskItem.Description & "' was added _
to the Task List.")
' Put any other code here that you want to execute when this
' event occurs.
End Sub
End Class
Consulte também
Outros recursos
Respondendo a eventos (Visual Basic e projetos do Visual C#)