2016-05-27 4 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; 

После обновления Ф1 команда не захваченной.

У вас есть идеи, почему это может случиться? Изменен ли идентификатор справки F1?

ответ

1

Вы случайно не видели мой последний ответ на свой пост в VS Extensibility forum?

Причина, по которой событие никогда не срабатывает, заключается в том, что команды справки отключены с помощью приложений-заглушек ApplicationCommands.vsct. Вы должны закомментировать запись

для повторного включения команды F1. Затем вы должны увидеть, что вы активируете обработчик событий.

+0

Извините Эд из-за моего позднего ответа, спасибо исследования и hep – tstanitz