简化的嵌入
当一个编辑器的文档视图对象以 Visual Studio 为父对象(也就是说,成为 Visual Studio 的子对象),并且 IVsWindowPane 接口被实施来处理它的窗口命令时,简化嵌入即被启用。 简化嵌入编辑器无法托管活动控件。 下图所示为用于创建具有简化嵌入的编辑器的对象。
具有简化嵌入的编辑器
注意
此图示的对象中,仅 CYourEditorFactory
对象是创建基于文件的标准编辑器必需的对象。 如果要创建自定义编辑器,不必实现 IVsPersistDocData2 ,因为你的编辑器可能具有自己的专用持久性机制。 但是,对于非自定义编辑器,必须执行此操作。
创建具有简化嵌入的编辑器所实施的所有接口都包含在 CYourEditorDocument
对象中。 但是,若要支持文档数据的多个视图,请将接口拆分为单独的数据和视图对象,如下表所示。
接口 | 接口的位置 | 使用 |
---|---|---|
IVsWindowPane | 视图 | 提供与父窗口的连接。 |
IOleCommandTarget | 视图 | 处理命令。 |
IVsStatusbarUser | 视图 | 启用状态栏更新。 |
IVsToolboxUser | 视图 | 启用“工具箱”项。 |
IVsFileChangeEvents | 数据 | 在文件更改时发送通知。 |
IPersistFileFormat | 数据 | 为某一文件类型启用“另存为”功能。 |
IVsPersistDocData2 | 数据 | 实现文档持久性。 |
IVsDocDataFileChangeControl | 数据 | 允许抑制文件更改事件,例如重新加载触发。 |