2013-08-12 3 views
1

Когда вы пишете надстройку VS, что Протягивает пункты меню VS, он вызывает вашу QueryStatus реализации, чтобы проверить, следует ли ваши пункты меню быть видимыми, включен и т.д.В надстройке Visual Studio, как отключить элементы меню во время сборки?

Моих пункты меню не подходят для работы при определенных ситуациях, например когда происходит сборка. Как определить, работает ли сборка?

+0

Другая сторона этого вопроса: http://stackoverflow.com/questions/18791960/in -a-зрительно-студия-надстройка-How-To-Disable-наращивание времени-мой-код-это выключенный –

ответ

1

Вы ищете метод VsShellUtilities.IsSolutionBuilding. Примером его использования можно найти в Managed Package Framework для Visual Studio 2010 (MPFProj10) в ProjectNode классе:

protected internal virtual bool IsCurrentStateASuppressCommandsMode() 
{ 
    if (VsShellUtilities.IsSolutionBuilding(this.Site)) 
    { 
     return true; 
    } 

    DBGMODE dbgMode = VsShellUtilities.GetDebugMode(this.Site) & ~DBGMODE.DBGMODE_EncMask; 
    if (dbgMode == DBGMODE.DBGMODE_Run || dbgMode == DBGMODE.DBGMODE_Break) 
    { 
     return true; 
    } 

    return false; 
}