命令可用性

Visual Studio 上下文确定哪些命令可用。 上下文可以根据当前项目、枚举当前编辑、加载的 Vspackage 和集成开发环境 (ide) 的其他方面更改 (IDE)。

命令上下文

下面的命令上下文是最常见的。

  • IDE 提供的IDE 命令始终可用。

  • VSPackage Vspackage 可以定义命令时将显示或隐藏。

  • 项目 项命令对于当前选定的项目显示。

  • 编辑 只有一个编辑器中一次处于活动状态。 从活动的编辑命令可用。 编辑非常适用于语言服务。 语言服务必须处理其命令。这个关联的编辑器中。

  • 文件类型 编辑器可以加载了多文件的一种类型。 可用的命令可以根据文件类型更改。

  • 一个活动文档窗口的活动窗口 设置键绑定的 (UI)用户界面上下文。 但是,有一个键绑定的表类似于内部 web 浏览器的工具窗口还可以设置 UI 上下文。 对于多选项卡式文档窗口例如 HTML 编辑器中,每个选项都有不同的命令上下文 GUID。 在工具窗口注册后,它总是可在 视图 菜单。

  • UI 上下文 UI 上下文由 UICONTEXT 类来确定,例如, UICONTEXT_SolutionBuilding ,而在解决方案生成时,或者 UICONTEXT_Debugging 的值,当调试器处于活动状态时。 多个 UI 上下文可以同时处于活动状态。

定义自定义上下文 GUID

如果适当的命令上下文 GUID 尚未定义,您可以定义一个在 VSPackage 程序然后活动或非活动所需的控件命令的可见性。

  1. 寄存器上下文 GUID 通过调用 GetCmdUIContextCookie 方法。

  2. 获取一个上下文 GUID 的状态通过调用 IsCmdUIContextActive 方法。

  3. 通过调用 SetCmdUIContext 方法打开和关闭上下文 GUID。

    警告

    确保 VSPackage 不会影响任何现有的上下文 GUID,因为其他 Vspackage 可能依赖它们。

请参见

概念

选择上下文对象

Vspackage 如何将用户界面元素到 IDE

其他资源

Command Routing in VSPackages

Command Table Configuration (.ctc) Files