2

我有一个 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是否改变了?

4

1 回答 1

1

您是否碰巧在VS 可扩展性论坛中看到我对您的帖子的最新回复?

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

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

于 2016-06-09T05:19:08.370 回答