如何在 Visual Studio 扩展中有条件地 show\hide 命令

How to show\hide Commands conditionally in Visual Studio Extension

我正在创建一个 Visual Studio 扩展,它应该执行以下活动:

  1. 右键单击项目,应显示一个命令。
  2. 应针对特定项目显示特定命令。

例如:

我添加了一个命令菜单,其中有 2 个命令。但是我只想在右键单击 ABC 项目时显示 'Command for Proj ABC',类似地,在右键单击 XYZ 项目时应该显示 'Command for Proj XYZ'。

这可能吗?我怎样才能做到这一点?

您需要在 .vsct 中为您的命令添加 DynamicVisibility CommandFlag,并在您的 OnBeforeQueryStatus 处理程序中设置 Visible 状态,具体取决于当前选择了哪个项目。

有关示例,请参阅 Change the text of a menu command