1
내 Visual Studio 확장에서 파일 붙여 넣기 이벤트를 가로채는 방법은 무엇입니까?
파일 붙여 넣기 = 솔루션 탐색기에서 전체 파일을 붙여 넣습니다.Visual Studio 확장 성 : 파일 붙여 넣기 이벤트 차단
내 목표는 복사 된 파일에 특정 대체물을 적용하는 것입니다.
내 Visual Studio 확장에서 파일 붙여 넣기 이벤트를 가로채는 방법은 무엇입니까?
파일 붙여 넣기 = 솔루션 탐색기에서 전체 파일을 붙여 넣습니다.Visual Studio 확장 성 : 파일 붙여 넣기 이벤트 차단
내 목표는 복사 된 파일에 특정 대체물을 적용하는 것입니다.
는 이것은 명령 GUID 등 typeof(VSConstants.VSStd97CmdID).GUID
및 명령 ID와 함께 VSConstants.VSStd97CmdID.Paste
DTE.Events.CommandEvents
(MSDN)를 사용하여 차단 될 수있다.
예 : 그것뿐만 아니라 다른 상황에서 붙여 넣기를 차단하지만, 좋은 첫 걸음 수로
protected override void Initialize() {
var dte = (DTE)GetService(typeof(DTE));
var pasteGuid = typeof(VSConstants.VSStd97CmdID).GUID.ToString("B");
var pasteID = (int)VSConstants.VSStd97CmdID.Paste;
_pasteEvent = dte.Events.CommandEvents[pasteGuid, pasteID];
_pasteEvent.BeforeExecute += delegate { Trace.WriteLine("Before paste."); };
_pasteEvent.AfterExecute += delegate { Trace.WriteLine("After paste."); };
}
이 정말 완벽하지 않습니다. 붙여 넣기 중에 첨부 된 항목을 가져 오는 동안 ItemAdded
이벤트를 볼 수도 있습니다.