Visual Studio SDK 术语表
此术语表提供 Visual Studio SDK 文档中使用的术语的定义。
术语
加载项
添加到主应用程序的实用工具应用程序、驱动程序或其他软件。 在 Visual Studio 集成开发环境(IDE)中,加载项是一个基于自动化的应用程序,用于扩展 IDE 的功能。
自动化模型
自动化模型(在早期版本的 Visual Studio 中称为扩展性模型)是一个编程接口,可用于访问驱动 IDE 的基础例程。 外接程序、向导和宏使用自动化模型中的对象来控制或扩展 IDE 的功能。
命令 UI 上下文
与 UI 命令或元素(如工具栏)的可见性的 GUID 关联。 命令 UI 上下文与选择上下文不同,因为它未附加到窗口。
命令 UI 上下文可用于:
- 将 GUID 分配给激活特定窗口时出现的工具栏。
- 将 GUID 分配给命令的可用性,而无需加载或运行 VSPackage。
- 分配 GUID 以影响活动键绑定。
- 分配 GUID 以打开宏录制。
- 分配 GUID 以激活调试模式或在编辑器中的设计和运行模式之间进行切换。
component
可以成为应用程序功能的一部分的软件,而该应用程序没有任何关于软件实现的预先存在的信息。 组件与应用程序之间的通信仅通过 OLE 样式接口进行。
组件管理器
一项服务, SOleComponentManager
它为顶级组件提供非用户界面协调服务。 服务 SOleComponentManager
实现 IOleComponentManager
接口。
组件 UI 管理器
一项服务, SOleComponentUIManager
它提供用户界面协调服务。 该服务 SOleComponentUIManager
实现 IOleComponentUIManager
和 IOleInPlaceComponentUIManager
接口。
上下文包
IVsUserContext
附加到环境组件的对象(COM 对象)。 此对象保存与组件相关的查找关键字 (keyword)、F1 关键字 (keyword)和属性。 上下文包还指向链接到它们的任何子上下文包。
上下文提供程序
IDE 中具有与之关联的上下文包的组件。 此类组件包括工具窗口、编辑器或项目层次结构。
设计师
一个编程界面,允许用户操作 UI(窗体、按钮和其他控件)的元素。
DocData
封装文档的基础数据的 COM 对象(例如,在文本编辑器示例中,这是所有文本编辑器视图的基础缓冲区)。 如果 EditorFactory 未提供此对象,IDE 会代表它生成一个对象。 此对象的责任是管理同一 DocData
视图的数据持久性和共享语义。 DocData
如果对象支持IOleCommandTarget
该接口,则它包含在 UIShell 的命令路由中。
DocObject
用于在主机提供的框架中托管 UI 的技术。 更具体地说,此术语是指支持 IOleDocument
和相关接口的任何嵌入。 这项技术有许多潜在的应用程序,例如 COM 文档的实现详细信息、Visual Basic 5.0 中的工具窗口、Visual Basic 6.0 中的 ActiveX 设计器等。
文档
用于将文档作为一个整体(同时 DocData
和整个 DocView
文档)引用。 例如,DocumentFrame 包含一个 DocView
,但它还保留对处理持久性的 DocData
引用。
DocView
用户与之交互以查看和操作基础 DocData
的 DocObject/Embedding/WindowPane 。 用户不会利用属于界面设计一部分 DocObject
的文档/视图分离。 用户使用整个 DocObject 来充当视图,而不是使用更抽象(且不太正式化)的基础数据概念,称为 DocData
。 DocView
对象始终嵌入 IDE 的文档框架对象(MDI 子窗口)。
DTE
DTE
(开发工具扩展性)对象是 Visual Studio 自动化模型中最重要的接入点,它允许以编程方式自动执行和扩展 IDE。
“动态帮助”窗口
由 IDE 实现的工具窗口,并显示查找关键字 (keyword)或 F1 帮助主题的列表。
编辑 器
实现 . DocView
. 它还实现 DocData
视图和数据分离是否受支持。
extension
修改、自定义或添加到 IDE 的功能。 使用自动化模型或 VSPackages 创建扩展。
外部编辑器
不特定于 IDE 的编辑器,如 Microsoft Word。 它已通过自己的机制进行注册,可在 IDE 外部使用。 如果可以嵌入此编辑器,它将显示在 IDE 中的窗口中。 如果无法嵌入,则会创建单独的顶级窗口。
层次结构
节点树,每个节点都与一组属性相关联。
独立顶级组件
使用无模式顶级窗口并且可以作为独立应用程序窗口有效运行的组件,但作为进程内对象实现。 因此,独立的顶级组件必须与 IDE 协调模态和消息循环服务。 进程内对象没有自己的消息循环。
信息提供程序
信息提供程序是一个模块,它可以以对象形式IVsUserContextItem
查找关键字 (keyword)并返回主题列表。 若要为信息提供程序提供 F1 和查找关键字 (keyword)项,请注册编译的帮助文件()。具有系统的 HxS。 这些文件中的帮助主题提供动态帮助窗口中显示的主题列表,并显示用户是否按 F1。
就地组件
实现接口的 VSPackage 对象 IOleInPlaceComponent
,用于管理在 IDE 拥有的文档窗口中直观包含的窗口。 就地组件不参与标准 OLE 菜单合并;而是将其用户界面元素集成到 IDE 中。
有两种类型的就地组件:硬连接就地组件和组件控件。
硬连接就地组件具有紧密集成到 IDE 用户界面中的菜单、工具栏和命令,就像直接内置到 IDE 中一样。
组件控件没有集成到 IDE 中的任何自己的用户界面元素;而是使用 IDE 的菜单、命令和工具栏。 例如,Bold 命令可用于在嵌入窗体的富文本控件中加粗所选单词。 但是,组件控件可以请求显示动态安装的特定于组件的 UI 元素。
语言服务
一组对象,允许 VSPackage 开发人员实现计算机语言代码编辑器的功能,例如文本标记和着色。
杂项文件项目
用于容纳不在任何项目中的打开文件的项目。 此项目中的项列表不会持久化。
project
项目由实现 IVsHierarchy
接口的层次结构对象或 COM 对象组成。
特定于项目的设计器或编辑器
不能独立于项目类型使用的设计器。 所有特定于项目的设计器都必须在注册表中输入其编辑器工厂信息。 然后,只要特定文件类型在特定项目中打开,IDE 就可以实例化设计器。
项目类型窗口
一个窗口,该窗口不断跟踪全局选择上下文中的当前活动项目层次结构和项。 项目类型窗口使用 SVsTrackSelectionEx
服务向 IDE 发出更改警报,并向用户显示反馈。 解决方案资源管理器是项目类型窗口的示例。
属性窗口
以前为属性浏览器。
基于引用的项目
不需要项目位于同一目录中的文件的项目。 相反,对来自其他不相关目录的文件的引用由项目本身存储和维护。
运行文档表
IDE 维护当前打开的所有文档列表的内部结构。 无论文档当前是否正在编辑,该列表都包含内存中所有打开的文档。 文档是保存的任何项,包括编辑器中打开的存储过程、项目或主项目文件中的文件(例如 *.vcproj 文件)。
选择上下文
数据是 IDE 中每个窗口的详细信息的一部分,用于跟踪活动选择。 选择上下文包括:
- 指向
IVsHierarchy
项目层次结构接口的指针 - 项目项的项标识符。
- 指向
ISelectionContainer
提供对活动对象的属性的访问权限的接口的指针。 - 元素值的数组。
service
一组驻留在单个 COM 对象的 COM 接口的协定。 创建由 GUID 标识的服务时,定义执行服务的 COM 接口集。 COM 对象使用服务相互通信。
解决方案
用户与之合作的相关项目的组。
标准设计器
可以独立于项目类型的设计器。 所有标准设计器都必须在注册表中输入其编辑器工厂信息。 然后,只要打开具有特定扩展名的文件,IDE 就可以实例化设计器。 数据必须保存到文件。
标准编辑器
独立于任何特定项目类型的使用编辑器。 此类编辑器已在注册表中注册 EditorFactories。 这允许 IDE 查找和调用编辑器。
标准 OS 编辑器
嵌入不是特定于 Visual Studio 的。 它使用已知的 Win32 密钥注册(例如,Win32 资源管理器知道如何调用)。 如果可以嵌入此类编辑器,编辑器仍显示在 IDE 中的位置。 否则,将为此类编辑器创建单独的顶级窗口。
子上下文包
IVsUserContext
链接到上下文包的对象。 该对象保存 IDE 组件中所选内容的查找关键字 (keyword)、F1 关键字 (keyword)和属性。 子文本的示例包括工具窗口中的命令,或编辑器中的关键字 (keyword)。
任务列表
由 IDE 实现的工具窗口,并显示活动任务的列表。
文本缓冲区
对象的 VSTextBuffer
公用名 。
文本视图
对象的 VSTextView
公用名 。
工具顶级组件
作为无模式弹出窗口运行的组件,与 IDE 的用户界面紧密协调。 与独立的顶级组件一样,工具顶级组件还必须使用 IDE 协调模态和消息循环服务。
顶级组件
一个 VSPackage 对象,用于管理无模式顶级窗口而不是 IDE 窗口的工作区。 顶级组件实现 IOleComponent
接口,以利用消息循环服务,例如访问空闲时间。
UI 活动
可见且当前具有焦点的 VSPackage 对象。
UI 层次结构
实现 IVsUIHierarchy
接口以允许显示层次结构的 COM 对象。 UI 层次结构窗口实现ISelectionContainer
用于更新属性窗口的接口;如果需要,其他项目类型窗口可以使用此实现。
VSCT
Visual Studio 命令表。 .vsct 文件包含有关 XML 格式的菜单、工具栏和命令的位置和行为的信息。
VSPackage
一个可安装的软件片段,通过贡献以下一个或多个项来扩展 Visual Studio IDE:用户界面、服务、项目类型或编辑器/设计器。 VSPackage 由实现 IVsPackage
接口的 COM 对象和实现其他接口的一个或多个其他 COM 对象组成,以支持选择和其他功能。 此外,VSPackage 还具有特定的注册要求。