2017-05-20 1 views
0

미리 코딩 된 텍스트를 내 코드에 복사/붙여 넣을 수있는 Visual Studio (VSIX) 용 Plugin을 프로그래밍하고 싶습니다. ApplicationCommands.Paste를 사용하여이 작업을 수행하려고했지만 CommandTarget을 코드 창에 바인딩하여 내 캐럿에 바인딩하는 방법을 모르겠습니다. 나는이 문제에 대한 어떤 아이디어 나 조언도 미리 감사드립니다!한 창에서 텍스트를 복사하여 코드 창에 붙여 넣는 방법은 무엇입니까? (VSIX C#)

복사 할 텍스트를 선택한 다음 버튼을 클릭하여 선택한 텍스트를 코드의 캐럿 커서에 붙여 넣습니다.

enter image description here

답변

1

당신은 IVsTextManager.GetActiveView()로 현재 IWpfTextView을 찾을 수 있습니다 다음 현재 캐럿 위치를 textView.TextBuffer.Insert와 텍스트를 붙여 넣습니다. 다음 코드 예제를 참조하십시오 : Insert text into the current active text view.

+0

답장을 보내 주셔서 감사 드리며 지연된 답장을 보내 주셔서 진심으로 감사드립니다. 나는 당신의 솔루션을 구현하려고 노력했지만 친구들뿐만 아니라 내 교수에게도 물어 보았지만 ... 불행히도 제공된 코드 샘플을 성공적으로 추가하지 못했습니다. Microsoft 참조 및 가져 오기 추가했습니다 있지만 코드 샘플을 추가 할 때 내 VisualStudio 여전히 참조가 추가 된 있지만 VisualCommanderExt.ICommand 또는 .text.UI 알지 못한다 말한다. 혹시 내가 뭘 잘못하고 있니? 당신의 도움을 주셔서 대단히 감사합니다. –

+0

@KonstantinHolm VisualCommanderExt.Command는 Visual Commander 확장에서 코드를 실행하는 경우에만 필요합니다. –

+0

알았어. 그러면 IVsTextManager에 관한 것입니다. 나는 그 일을하고 있지만 GetActiveView (int fMustHaveFocus, IVsTextBuffer pBuffer, IVsTextView ppView)의 메서드 매개 변수를 수행하는 데 어려움이 있습니다. XAML의 버튼 함수를 통해 해당 메서드를 호출하면 어려움을 겪습니다 그것을 호출 할 수있는 올바른 매개 변수를 찾는 .. –

관련 문제