【问题标题】:Visual Studio Shell 14 upgrade ruins command capturing in VSPackageVisual Studio Shell 14 升级破坏了 VSPackage 中的命令捕获
【发布时间】:2016-05-27 09:25:58
【问题描述】:

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

这是 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 help Id 是否改变了?

【问题讨论】:

    标签: c# envdte vspackage visual-studio-shell


    【解决方案1】:

    您是否碰巧在VS Extensibility forum 中看到我对您帖子的最新回复?

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

    entry 以重新启用 F1 命令。然后,您应该会看到正在调用您的事件处理程序。

    【讨论】:

    • 抱歉,Ed,由于我的回复晚了,感谢研究和帮助
    猜你喜欢
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多