【问题标题】:In a Visual Studio Add-In, how to disable menu items during a build?在 Visual Studio 加载项中,如何在构建期间禁用菜单项?
【发布时间】:2013-08-12 22:14:04
【问题描述】:

当您编写向 VS 提供菜单项的 VS 插件时,它会调用您的 QueryStatus 实现来检查您的菜单项是否应该可见、启用等。

我的菜单项不适合在某些情况下运行,例如当构建发生时。如何检测是否有构建正在运行?

【问题讨论】:

标签: visual-studio visual-studio-addins envdte


【解决方案1】:

您正在寻找VsShellUtilities.IsSolutionBuilding 方法。使用它的示例可以在 ProjectNode 类中的 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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 2021-11-02
    • 2013-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多