Visual Studio 中的层次结构

Visual Studio 集成开发环境(IDE)将项目显示为 层次结构。 在 IDE 中,层次结构是节点树,其中每个节点都有一组关联的属性。 项目层次结构是一个容器,用于保存项目的项、项的关系以及项的关联属性和命令。

在 Visual Studio 中,使用层次结构接口 IVsHierarchy管理项目层次结构。 该 IVsUIHierarchy 接口会将从项目项调用的命令重定向到相应的层次结构窗口,而不是标准命令处理程序。

项目层次结构

每个项目层次结构都包含可以查看和编辑的项。 这些项因项目类型而异。 例如,数据库项目可能包含存储过程、数据库视图和数据库表。 另一方面,编程语言项目可能包含位图和对话框的源文件和资源文件。 层次结构可以嵌套,这让你在创建项目层次结构时具有一些额外的灵活性。

创建新项目类型时,项目类型控制可在其中编辑的完整项集。 但是,项目可以包含没有编辑支持的项。 例如,Visual C++ 项目可以包含 HTML 文件,尽管 Visual C++ 不提供 HTML 文件类型的任何自定义编辑器。

层次结构管理它们包含的项的持久性。 层次结构的实现必须控制影响层次结构中项持久性的任何特殊属性。 例如,如果项表示存储库中的对象而不是文件,则层次结构实现必须控制这些对象的持久性。 IDE 本身会指示层次结构以符合用户输入保存项,但 IDE 不会控制保存这些项目所需的任何操作。 相反,项目处于控制中。

当用户在编辑器中打开项时,控件该项的层次结构处于选中状态,并成为活动层次结构。 所选层次结构确定可用于对项执行操作的命令集。 以这种方式跟踪用户焦点使层次结构能够反映用户的当前上下文。