다음을 통해 공유


UndoContext 인터페이스

Visual Studio에서 열려 있는 모든 문서에 대해 수행되는 작업을 모두 단일 트랜잭션으로 나타냅니다.SetAborted 메서드가 호출되면 이 개체를 연 후에 변경된 내용이 모두 취소됩니다.

네임스페이스:  EnvDTE
어셈블리:  EnvDTE(EnvDTE.dll)

구문

‘선언
<GuidAttribute("D8DEC44D-CAF2-4B39-A539-B91AE921BA92")> _
Public Interface UndoContext
[GuidAttribute("D8DEC44D-CAF2-4B39-A539-B91AE921BA92")]
public interface UndoContext
[GuidAttribute(L"D8DEC44D-CAF2-4B39-A539-B91AE921BA92")]
public interface class UndoContext
[<GuidAttribute("D8DEC44D-CAF2-4B39-A539-B91AE921BA92")>]
type UndoContext =  interface end
public interface UndoContext

UndoContext 형식에서는 다음과 같은 멤버를 노출합니다.

속성

  이름 설명
Public 속성 DTE 최상위 확장성 개체를 가져옵니다.
Public 속성 IsAborted SetAborted 메서드에 의해 UndoContext 개체 작업이 종료되었는지 여부를 가져옵니다.
Public 속성 IsOpen 실행 취소 작업이 현재 적용되는지 또는 솔루션이 열려 있는지 여부를 가져옵니다.
Public 속성 IsStrict 실행 취소 스택 링크가 strict인지 여부를 가져옵니다.
Public 속성 Parent UndoContext 개체의 직계 개체를 가져옵니다.

위쪽

메서드

  이름 설명
Public 메서드 Close 실행 취소 동작을 종료합니다.
Public 메서드 Open 새로운 실행 취소 동작을 시작합니다.
Public 메서드 SetAborted UndoContext 개체를 연 후 열려 있는 문서에서 수행한 모든 변경 내용을 취소합니다.

위쪽

설명

UndoContext 개체는 _DTE 개체의 UndoContext 속성을 통해 반환됩니다.Visual Studio에는 전체 실행 취소 서비스가 열려 있거나 닫혀 있는 상태로 하나만 있습니다.UndoContext 개체를 연 후에는 이 개체를 닫을 때까지 SetAborted 메서드를 사용한 단일 실행 취소 작업으로 Visual Studio에서 문서의 모든 업데이트 내용을 취소할 수 있습니다.SetAborted 메서드가 호출되면 개체를 연 후에 변경된 내용이 모두 취소됩니다.

UndoContext 개체를 사용하려면 개체를 열고 문서를 변경한 후 개체를 닫아 변경 내용을 종료합니다.

변경 내용을 취소하려면 UndoContext 개체를 닫기 전에 SetAborted 메서드를 호출합니다.UndoContext 개체를 닫은 후에는 변경 내용을 취소할 수 없습니다.

[!참고]

UndoContext 개체를 사용하기 전에 이전 작업에서 이 개체가 이미 열려 있는지 확인하십시오.이미 열려 있으면 관련된 모든 문서의 변경 내용 및 이 개체를 처음 연 이후에 변경된 모든 내용이 취소됩니다.확인할 때 UndoContext 개체가 이미 열려 있으면 이전 호출자에서 이 개체를 사용하여 실행 취소 작업을 수행할 수도 있으므로 개체를 닫으면 안 됩니다.따라서 UndoContext 개체를 직접 열지 않았다면 SetAborted를 호출하고 이 개체를 닫지 않아야 합니다.문서에서 텍스트 변경 작업이 끝난 후 개체를 닫으십시오.

예제

Sub UndoContextExample()
   ' Before running, select text in an open document.
   Dim txtSel As TextSelection
   Dim strTS As String, boolWasOpen As Boolean
   txtSel = DTE.ActiveDocument.Selection
   strTS = txtSel.Text

   ' Check to see if UndoContext object is already open.
   If DTE.UndoContext.IsOpen = True Then
      boolWasOpen = True
   Else
      ' Open the UndoContext object to track changes.
      DTE.UndoContext.Open("RemoveNewLines", False)
   End If

   ' Perform search for newline characters and remove them.
   If strTS <> "" Then
      txtSel.Delete()
      strTS = Replace(strTS, vbNewLine, "", Compare:=vbTextCompare)
      txtSel.Insert(strTS)
   End If

   ' If UndoContext was already open, do not close it.
   If boolWasOpen = False Then
      ' Close the UndoContext object to commit the changes.
      DTE.UndoContext.Close()
   End If
End Sub

참고 항목

참조

EnvDTE 네임스페이스