1

メニュー項目を VS に提供する VS アドインを作成すると、QueryStatus実装が呼び出されて、メニュー項目が表示されるか、有効になるかなどがチェックされます。

ビルド中など、特定の状況でメニュー項目を実行するのは適切ではありません。ビルドが実行されているかどうかを検出するにはどうすればよいですか?

4

1 に答える 1

1

あなたは方法を探していますVsShellUtilities.IsSolutionBuilding。これを使用する例は、次のProjectNodeクラスの Managed Package Framework for Visual Studio 2010 (MPFProj10) にあります。

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;
}
于 2013-08-12T22:34:41.590 に答える