命令、菜单和工具栏

菜单和工具栏是用户访问 VSPackage 中的命令的方式。 命令是完成任务(如打印文档、刷新视图或创建新文件)的函数。 菜单和工具栏是用于向用户呈现命令的方便图形方式。 通常,相关命令在相同菜单或工具栏上聚集在一起。

  • 菜单通常在集成开发环境 (IDE) 或工具窗口顶部显示为聚集在一行中的一个单词字符串。 菜单还可以显示为右键单击事件的结果,称为该上下文中的快捷菜单。 单击时,菜单会展开以显示一个或多个命令。 命令在单击时可以执行的任务或启动包含其他命令的子菜单。 一些已知的菜单名称是“文件”、“编辑”、“视图”和“窗口”。 有关详细信息,请参阅 扩展菜单和命令

  • 工具栏通常是按钮和其他控件(如组合框、列表框、文本框和菜单控制器)组成的行。 所有工具栏控件都与命令关联。 单击工具栏按钮时,会激活其关联命令。 工具栏按钮通常具有提示基础命令的图标,如用于打印命令的打印机。 在下拉列表控件中,列表中的每项都与不同命令关联。 菜单控制器是一种混合体,其中控件的一端是工具栏按钮,另一端是在单击时显示其他命令的向下箭头。 有关详细信息,请参阅 向工具栏添加菜单控制器。

  • 创建命令时,还必须为它创建事件处理程序。 事件处理程序确定命令何时可见或启用、使你可以修改其文本并确保命令在激活时以合适方式进行响应(“路由”)。 在大多数情况下,IDE 使用 IOleCommandTarget 接口处理命令。 Visual Studio 中的命令以分层方式路由,从最内部的命令上下文开始,基于本地选择,并根据全局选择继续到最外部的上下文。 添加到主菜单的命令可立即用于脚本编写。 有关详细信息,请参阅 MenuCommands 与 OleMenuCommandsSelection 上下文对象

    若要定义新菜单和工具栏,必须在 Visual Studio 命令表 (.vsct) 文件中对其进行描述。 Visual Studio 包模板会为你创建此文件,以及支持在模板中选择的任何命令、工具栏和编辑器所需的元素。 或者,可以使用此处所述的 XML 架构编写自己的 .vsct 文件: VSCT XML 架构参考

    有关使用 .vsct 文件的详细信息,请参阅 Visual Studio 命令表 (.vsct) 文件

    本节中的主题介绍了命令、菜单和工具栏在 VSPackages 中的工作原理。

本部分内容

命令表格式规范的深入说明。

描述基于 XML 的语法和命令表的编译器。

介绍预定义的命令、组、菜单和工具栏。

指定可供 Visual Studio IDE 使用的预定义菜单、命令和命令组。

说明如何设计命令。

提供命令指南。

介绍如何使命令可供 Visual Studio 使用。

介绍如何实现使用互操作程序集的命令。

介绍 VSPackage 中的命令路由。