Вы можете использовать событие TextDocumentKeyPressEvents.AfterKeyPress. Следующий макрос срабатывает после нажатия пользователем любой клавиши в текстовом редакторе. Затем он получает текущую строку. В этом примере проверяется, содержит ли строка текст «привет», и если да, то она отображается в окне сообщения.
Private Sub TextDocumentKeyPressEvents_AfterKeyPress(ByVal Keypress As String, _
ByVal Selection As EnvDTE.TextSelection, ByVal InStatementCompletion As Boolean) _
Handles TextDocumentKeyPressEvents.AfterKeyPress
Try
Dim line As String
Dim aPoint As EditPoint = Selection.ActivePoint.CreateEditPoint
Dim startPoint As EditPoint = aPoint.CreateEditPoint
startPoint.StartOfLine()
Dim endPoint As EditPoint = aPoint.CreateEditPoint
endPoint.EndOfLine()
line = startPoint.GetText(endPoint)
If line.Contains("hello") Then
MsgBox(line)
End If
Catch ex As Exception
End Try
End Sub
Чтобы создать и применить этот макрос:
- Перейти в меню Инструменты - Макросы - Макросы IDE ...
- В Macros IDE Class View перейдите к MyMacros - {}
MyMacros - EnvironmentEvents. Открыть (двойной щелчок) EnvironmentEvents.
- Вставьте этот код в модуль (непосредственно перед строкой End Module)