EditorFactory.CreateEditorInstance 方法

定义

此方法检查指定的文件是否是编辑器支持的文件,如果是,则创建核心文本编辑器并将语言服务与其关联。 若要确定该文件是否是编辑器支持的文件,请执行以下检查:

如果这一切正确,则继续执行下一步,即获取 IVsTextLines 缓冲区并按如下所示进行设置:

最后,它调用 CreateEditorView 来创建 docView。

public:
 virtual int CreateEditorInstance(System::UInt32 createDocFlags, System::String ^ moniker, System::String ^ physicalView, Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ pHier, System::UInt32 itemid, IntPtr existingDocData, [Runtime::InteropServices::Out] IntPtr % docView, [Runtime::InteropServices::Out] IntPtr % docData, [Runtime::InteropServices::Out] System::String ^ % editorCaption, [Runtime::InteropServices::Out] Guid % cmdUI, [Runtime::InteropServices::Out] int % cancelled);
public virtual int CreateEditorInstance (uint createDocFlags, string moniker, string physicalView, Microsoft.VisualStudio.Shell.Interop.IVsHierarchy pHier, uint itemid, IntPtr existingDocData, out IntPtr docView, out IntPtr docData, out string editorCaption, out Guid cmdUI, out int cancelled);
abstract member CreateEditorInstance : uint32 * string * string * Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 * nativeint * nativeint * nativeint * string * Guid * int -> int
override this.CreateEditorInstance : uint32 * string * string * Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 * nativeint * nativeint * nativeint * string * Guid * int -> int
Public Overridable Function CreateEditorInstance (createDocFlags As UInteger, moniker As String, physicalView As String, pHier As IVsHierarchy, itemid As UInteger, existingDocData As IntPtr, ByRef docView As IntPtr, ByRef docData As IntPtr, ByRef editorCaption As String, ByRef cmdUI As Guid, ByRef cancelled As Integer) As Integer

参数

createDocFlags
UInt32

定义创建核心编辑器的条件的标志。

moniker
String

项目系统中文档的名称标识符的字符串形式。 对于文件文档,这始终是文件的路径。 此参数还可用于指定非文件的文档。 例如,在面向数据库的项目中,此参数可能包含引用表中记录的字符串。

physicalView
String

物理视图的名称。

pHier
IVsHierarchy

一个 IVsHierarchy 对象。

itemid
UInt32

核心编辑器实例的项标识符。

existingDocData
IntPtr

nativeint

必须是在 docData “运行文档表” (RDT) 中注册的对象。 此参数用于确定是否已创建文档数据对象 (文档缓冲区) 。 当要求编辑器工厂创建辅助视图时,此参数将不NULL 指示没有文档缓冲区。

docView
IntPtr

nativeint

文档视图对象。 NULL如果存在外部编辑器,则返回 ;否则返回文档视图。

docData
IntPtr

nativeint

Document Data 对象。 返回文档的缓冲区。

editorCaption
String

初始描述文字由文档编辑器为文档窗口定义。 这通常是用方括号括起来的字符串,例如“[Form]”。 此值作为输入参数传递给 CreateDocumentWindow(UInt32, String, IVsUIHierarchy, UInt32, IntPtr, IntPtr, Guid, String, Guid, IServiceProvider, String, String, Int32[], IVsWindowFrame) 方法。 如果文件为 [ReadOnly] ,则会在加载文件时设置描述文字。

cmdUI
Guid

返回命令 UI GUID。 激活此编辑器时,此 GUID 处于活动状态。 编辑器中可见的任何 UI 元素必须使用此 GUID。 此 GUID 在附属 DLL 的 .ctc 文件中使用,其中指示在文档处于活动状态时应显示哪些菜单和工具栏。

返回

如果该方法成功,则它会返回 S_OK。 如果该方法失败,则会返回错误代码。

实现

注解

有关如何使用此方法的示例,请参阅 演练:创建核心编辑器和注册编辑器文件类型

适用于