Visual Studio Shell 14 upgrade ruins 命令在 VSPackage 中捕获

Visual Studio Shell 14 upgrade ruins command capturing in VSPackage

我有一个 Visual Studio Shell 2013 应用程序,我想升级到 Shell 2015,我遇到了与命令捕获相关的问题。在旧版本中,F1 命令被捕获并覆盖默认行为。 (基于 How to capture Visual Studio commands in a VSPackage Plugin?

这是与 shell 13:

一起使用的 VSPackage 中的代码
  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 是否已更改?

你有没有在 VS Extensibility forum 中看到我对你的 post 的最新回复?

事件从未触发的原因是因为通过存根应用程序 ApplicationCommands.vsct 禁用了帮助命令。您需要注释掉

重新启用 F1 命令的条目。然后,您应该会看到您的事件处理程序被调用。