我正在尋找一種方法來讓我的擴展程序檢查Visual Studio 2012中當前打開的窗口是否爲1,其中用戶可以編寫代碼(或任何類型的文字,真的)。檢查Visual Studio 2012中的當前文檔是否爲代碼窗口
要檢查是否當前打開的窗口已經改變了,我用
_DTE.Events.WindowEvents.WindowActivated。
這給我EnvDTE.Window
收到的重點。
當我在調試時查看那個窗口的屬性,我看EnvDTE.Window.Document.Type
,它的值是"Text"
。
但是,如果我停止調試並嘗試訪問Document.Type property
,它不存在。
如果我找這個屬性的EnvDTE.Window.Document
的文檔中,它的描述說
基礎設施。僅限Microsoft內部使用。
所以現在我期待的任何意見,我怎麼可以檢查是否當前活動窗口是一個,在那裏我可以編寫代碼(或其他任何東西),或一些其他類型的文件(如解屬性例)。
編輯:
我也試過檢查Window.Type
和活動窗口的Window.Kind
,但他們只是告訴我,這是一個文件,而不是做一個資源文件,圖像文件或實際源之間的區別文件,這是我試圖找出。
Edit²:
我之所以要檢查,如果當前文檔是一個在那裏我可以寫代碼,是因爲我希望我的擴展存儲有關的一些這些文件的信息,我想根據我存儲的信息修改右鍵單擊上下文菜單,如果有的話。
一旦你知道答案,你會怎麼做呢? –
@JasonMalinowski對不起,但我不確定你想問我什麼。 – UrbanCMC
我想@Jason問一個有效的問題:你想做什麼?當你的'IsTextDocument()'返回'false'時,代碼會做什麼?什麼時候「真」?當文本窗口被激活時會發生什麼?也許你的方法對於你想要做的事情是錯誤的,所以最簡單的解決方案可以是例如訂閱另一個事件,如果你沒有解釋你的最終目標,我們不能建議。 – CodeCaster