0

나는 사용자의 코드를 구문 분석하기 위해 매크로 이벤트를 작성하는 방법을 찾고있다.
예를 들어 프로그래머가 특정 코드를 작성할 때이 이벤트는 코드 행을 구문 분석하고 정규 표현식과 일치하는 경우 활성 문서에 몇 가지 추가 코드를 삽입합니다.
홀라인 코드를 얻고 어떤 이벤트를 사용해야합니까?사용자가 입력 한 코드를 가져 오기 위해 Visual Studio 매크로 이벤트를 작성하는 방법은 무엇입니까?

답변

-1

그러나, 나는 그 텍스트 입력이 그들 중 하나입니다 생각하지 않습니다, 매크로가 응답 할 수있는 이벤트가 있습니다, 더 나은 접근 방식은 미리 사용할 수 있습니다 - http://msdn.microsoft.com/en-us/library/ms165392(v=VS.100).aspx

그들은 당신이 키워드를 정의 할 수 있습니다 및 그런 다음 편집기에 텍스트를 추가하십시오. 좋은 예는 속성 스 니펫입니다. 편집기에서 'prop'를 입력 한 다음 Tab 키 (VB에서 C# 두 번, VB에서 한 번)를 눌러 호출하십시오. http://msdn.microsoft.com/en-us/library/z41h7fat(v=VS.100).aspx

2

당신은 TextDocumentKeyPressEvents.AfterKeyPress 이벤트를 사용할 수 있습니다

는 여기 조각의 자세한 목록입니다. 사용자가 텍스트 편집기에서 키를 누르면 다음 매크로가 트리거됩니다. 그런 다음 현재 행을 가져옵니다. 이 예제에서는 행에 "hello"텍스트가 포함되어 있는지 테스트하고, 그렇다면 텍스트 상자에 줄을 표시합니다.

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 

만들고이 매크로를 적용하려면 :

  1. 이동 메뉴 도구 - 매크로 - 매크로 IDE ... 매크로 IDE 클래스 뷰에서
  2. 는 MyMacros로 이동 - {} MyMacros - 환경 이벤트. EnvironmentEvents를 엽니 다 (더블 클릭).
  3. 이 코드를 모듈 내부에 붙여 넣으십시오 (모듈 끝 줄 바로 앞에)
관련 문제