Visual Studio 2012에서 현재 열려있는 창이 하나 인 경우 내선 검사를 수행 할 방법을 찾고 있습니다. 사용자가 코드 (또는 텍스트, 정말로). Visual Studio 2012의 현재 문서가 코드 창인지 확인하십시오.
는 현재 열려있는 윈도우가 변경된 경우, 내가_DTE.Events.WindowEvents.WindowActivated을 사용하여 확인하십시오.
이렇게하면 포커스를받은 EnvDTE.Window
이 표시됩니다.
디버깅하는 동안 해당 창의 속성을 볼 때 EnvDTE.Window.Document.Type
을보고 값은 "Text"
입니다.
그러나 디버깅을 중지하고 Document.Type property
에 액세스하려고하면 존재하지 않습니다.
내가 EnvDTE.Window.Document
의 문서에서이 속성을 보면, 그 설명을
인프라는 말한다. Microsoft 내부 용.
그래서 지금은 현재 활성화 된 창을위한 솔루션 속성과 같은 I 코드 (또는 다른 것)를 쓸 수 일, 또는 문서의 다른 종류의 (경우 내가 확인할 수 있습니다 방법에 대한 조언을 찾고 있어요 예).
편집 :
나는 또한 Window.Type
및 활성 창의 Window.Kind
을 확인했지만, 그들은 그냥 리소스 파일, 이미지 파일 또는 실제 소스 사이의 차별을하지, 문서 있다고 말해 파일, 내가 뭘 찾으려고하는지.
Edit² : 나는 내 확장 해당 문서의 일부에 대한 정보를 저장할 내가 원하는 때문에
난에서 코드를 작성할 수있는 현재 문서가 하나인지 확인하고자하는 이유입니다 저장된 정보 (있는 경우)를 기반으로 마우스 오른쪽 버튼 클릭 상황에 맞는 메뉴를 수정하십시오.
답변을 알았 으면 어떻게해야합니까? –
@JasonMalinowski 미안하지만, 당신이 나에게 무엇을하려고하는지 잘 모르겠습니다. – UrbanCMC
제이슨은 유효한 질문을합니다 : 당신은 무엇을하려고합니까? 'IsTextDocument()'가'false'를 리턴 할 때 코드는 무엇을할까요? 그리고 '사실'은 언제입니까? 텍스트 창이 활성화 될 때 어떤 일이 발생해야합니까? 아마도 귀하의 접근 방식은 당신이하고자하는 일에 대해 잘못된 것이므로 가장 쉬운 해결책은 예를 들어 다른 이벤트에 가입하는 것일 수 있습니다. 귀하가 최종 목표를 설명하지 않으면 제안 할 수 없습니다. – CodeCaster