我有一个 Visual Studio Shell 2013 应用程序,我想升级到 Shell 2015,但遇到了与命令捕获相关的问题。在旧版本中,F1命令被捕获并覆盖默认行为。(基于如何在 VSPackage 插件中捕获 Visual Studio 命令?)
这是 VSPackage 中与 shell 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帮助ID是否改变了?