简化的嵌入

当一个编辑器的文档视图对象以 Visual Studio 为父对象(也就是说,成为 Visual Studio 的子对象),并且 IVsWindowPane 接口被实施来处理它的窗口命令时,简化嵌入即被启用。 简化嵌入编辑器无法托管活动控件。 下图所示为用于创建具有简化嵌入的编辑器的对象。

简化嵌入编辑器图形

具有简化嵌入的编辑器

注意

此图示的对象中,仅 CYourEditorFactory 对象是创建基于文件的标准编辑器必需的对象。 如果要创建自定义编辑器,不必实现 IVsPersistDocData2 ,因为你的编辑器可能具有自己的专用持久性机制。 但是,对于非自定义编辑器,必须执行此操作。

创建具有简化嵌入的编辑器所实施的所有接口都包含在 CYourEditorDocument 对象中。 但是,若要支持文档数据的多个视图,请将接口拆分为单独的数据和视图对象,如下表所示。

接口 接口的位置 使用
IVsWindowPane 视图 提供与父窗口的连接。
IOleCommandTarget 视图 处理命令。
IVsStatusbarUser 视图 启用状态栏更新。
IVsToolboxUser 视图 启用“工具箱”项。
IVsFileChangeEvents 数据 在文件更改时发送通知。
IPersistFileFormat 数据 为某一文件类型启用“另存为”功能。
IVsPersistDocData2 数据 实现文档持久性。
IVsDocDataFileChangeControl 数据 允许抑制文件更改事件,例如重新加载触发。