2016-05-27 63 views
2

我有一個Visual Studio Shell 2013應用程序,我想升級到Shell 2015,並且遇到與命令捕獲相關的問題。在舊版本中,F1命令被捕獲並覆蓋默認行爲。 (基於How to capture Visual Studio commands in a VSPackage Plugin?Visual Studio Shell 14升級遺址命令在VSPackage中捕獲

這是從該VSPackage的正與殼13的代碼:

m_objDTE = (DTE)GetService(typeof(DTE)); 

    var F1HelpGuid = typeof(VSConstants.VSStd97CmdID).GUID.ToString("B"); 
    var F1HelpID = (int)VSConstants.VSStd97CmdID.F1Help; 

    F1HelpEvent = m_objDTE.Events.CommandEvents[F1HelpGuid, F1HelpID]; 
    F1HelpEvent.BeforeExecute += CapturedF1HelpCommand; 

F1命令不被捕獲的更新後。

你知道爲什麼會發生這種情況嗎? F1 help id是否改變了?

回答

1

您是否碰巧看到我對VS Extensibility forum中的帖子的最新回覆?

事件永不會觸發的原因是因爲幫助命令通過存根應用程序的ApplicationCommands.vsct被禁用。您需要註釋掉

重新啓用F1命令的條目。然後,你應該看到你的事件處理程序被調用。

+0

對不起,由於我的反應遲,感謝研究和hep – tstanitz