Visual Studio Shell

Visual Studio shell 集成是主代理在 Visual Studio的。 shell 提供必要的功能使 Vspackage 共享公共服务。 由于 Visual Studio 的体系结构目标是授予主要功能在 Vspackage, shell 是提供基本功能和支持其组件 Vspackage 中的跨通信的机制。

Shell 职责

shell 具有以下主要责任:

  • 支持 (通过 COM 接口) 用户界面的基本元素。 (UI) 其中包括默认菜单和工具栏,文档窗口框架或多文档 (MDI)界面 (mdi) 子窗口和工具窗口框架组成,通常,并停靠支持。

  • 维护运行列表所有当前打开文档在运行文档表 (RDT)以协调持久性文档,并确保一个文档无法打开以多种方式,或使用不兼容的方式。

  • 支持命令传送和命令处理接口, IOleCommandTarget

  • 在加载 Vspackage。 延迟加载 VSPackage 为以 shell 的性能是必需的。

  • 管理的某些共享服务,例如 SVsShell,提供基本 shell 功能和 SVsUIShell,提供基本多窗口功能。

  • 管理解决方案 (.sln) 文件。 解决方案在 Visual C++ 6.0 包含相关项目的组,与工作区 (.dsw) 文件。

  • 跟踪 shell 选择、上下文和货币。 shell 跟踪项目的以下类型:

    • 当前项目

    • 当前项目项或 ItemID 当前 IVsHierarchy

    • 属性 窗口或 SelectionContainer的当前选定内容

    • 控件命令、菜单和工具栏的可见性的 UI 上下文 ID 或 CmdUIGuids

    • 当前活动的元素 (如活动窗口,文档,并撤消管理器

    • 驱动的动态帮助用户上下文属性

shell 还干预在安装的 Vspackage 和当前服务之间的通信。 它支持 shell 的核心功能并使其可供集成的所有 Vspackage 在 Visual Studio。 这些核心功能包括以下各项:

  • 有关 对话框和初始屏幕

  • 添加新并添加现有项目 对话框

  • 类视图 窗口和 对象浏览器

  • 添加引用 对话框

  • **“文档大纲”**窗口

  • **“动态帮助”**窗口

  • 查找替换

  • 打开项目打开文件 对话框在 菜单

  • 工具 菜单的选项 对话框

  • 属性 窗口

  • 解决方案资源管理器

  • **“任务列表”**窗口

  • 工具箱

请参见

参考

IOleCommandTarget

IVsHierarchy

SVsShell

SVsUIShell

其他资源

Vspackage