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。 这些核心功能包括以下各项:
有关 对话框和初始屏幕
添加新并添加现有项目 对话框
类视图 窗口和 对象浏览器
添加引用 对话框
**“文档大纲”**窗口
**“动态帮助”**窗口
查找 和 替换
打开项目 和 打开文件 对话框在 新 菜单
在 工具 菜单的选项 对话框
属性 窗口
解决方案资源管理器
**“任务列表”**窗口
工具箱