Visual Studio 확장 프로그램을 작성했으며 내 확장 프로그램과 관련된 사용자 작업 로그를 유지합니다. 내 도구가 로그에서 수행하는 변경 사항에 대해 실행 취소/다시 실행 정보를 포함 할 수 있기를 원합니다. 실행 취소/다시 실행이 발생할 때 호출되는 이벤트 수신기를 사용하고 실행 취소/다시 실행 개체가 있는지 확인하여 수행 할 수 있기를 기대합니다. 내 도구가 생성 한 동작에 해당하는 것입니다.Visual Studio 확장 프로그램에서 실행 취소/다시 실행 작업을 기록합니다.
현재, 난 내가 생성 this answer을 뒤에 ITextUndoHistoryRegistry
를 사용하여 얻을 현재 IWpfTextView
에 대한 ITextUndoHistory
를 얻을 수있는 코드가 있습니다. 불행히도, 내가 얻은 ITextUndoHistory
객체는 유용 할 수있는 기능을 충분히 구현하지 못했습니다. 특히 UndoRedoHappened
이벤트가 호출되지만 항상 null
의 트랜잭션이 있습니다. 또한 UndoStack
/RedoStack
속성은 System.NotSupportedException
입니다. 작동하는 유일한 것은 CreateTransaction
입니다. 트랜잭션 개체를 제공하고 Visual Studio의 실행 취소/다시 실행 목록에 표시된 작업의 이름을 설정할 수 있습니다. 작업 할 필요가 없지만.
Visual Studio에서 실행 취소 정보에 액세스하는 다른 방법이 있습니까? 아니면 내가 접근 할 수있는 것보다 더 창조적 인 해킹일까요?
왜 사용자 작업 로그로 실행 취소/다시 실행을 사용하고 있습니까? 실행 취소 기록은 여러 가지 이유로 제거 될 수 있으므로 영구적이지 않습니다. –
@JasonMalinowski, 사용자가 내 도구를 사용하여 변경을 수행 한 다음 실행 취소를 눌러 변경 사항을 실행 취소했는지 알고 싶습니다. – perelman