IVsAsyncShellOpenDocument.OpenStandardEditorAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用标准编辑器打开文件。 它将首先确定文件的默认编辑器工厂是否已配置。 如果尚未配置默认值,它将循环访问按优先级排序的编辑器工厂列表,以查找支持文档的第一个工厂。 如果无法打开文档,则会引发异常。
public Microsoft.VisualStudio.Shell.Interop.IVsTask OpenStandardEditorAsync (uint openStandardEditorFlags, string documentMoniker, Guid logicalView, string? ownerCaption, Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy? hierarchy, uint itemId, bool shouldGetDocDataFromRdt, object? docData, Microsoft.VisualStudio.OLE.Interop.IServiceProvider serviceProvider);
abstract member OpenStandardEditorAsync : uint32 * string * Guid * string * Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy * uint32 * bool * obj * Microsoft.VisualStudio.OLE.Interop.IServiceProvider -> Microsoft.VisualStudio.Shell.Interop.IVsTask
Public Function OpenStandardEditorAsync (openStandardEditorFlags As UInteger, documentMoniker As String, logicalView As Guid, ownerCaption As String, hierarchy As IVsUIHierarchy, itemId As UInteger, shouldGetDocDataFromRdt As Boolean, docData As Object, serviceProvider As IServiceProvider) As IVsTask
参数
- openStandardEditorFlags
- UInt32
其值取自 或 __VSOSEFLAGS2 枚举的__VSOSEFLAGS标志。
- documentMoniker
- String
项目系统中文档的唯一名字对象标识符的字符串形式,例如文件的完整路径。 在非文件情况下,此标识符通常采用 URL 的形式。
- logicalView
- Guid
标识 Guid 逻辑视图的 。 默认视图为 VSConstants.LOGVIEWID_Primary
,每个编辑器都必须支持该视图。
如果编辑器在文档视图对象上实现 IVsMultiViewDocumentView ,则传递给 ActivateLogicalView(Guid)的值将确定显示编辑器窗口时激活的视图。
通过指定逻辑视图 Guid,可以请求与请求视图的原因匹配的特定视图。
例如,指定 VSConstants.LOGVIEWID_Debugging
以获取适合调试的视图,或 VSConstants.LOGVIEWID_TextView
获取适用于文本编辑器 (即实现 IVsCodeWindow) 的视图。
- ownerCaption
- String
初始描述文字由文档所有者 (定义,即文档窗口的项目) 。 这通常采用以下格式:“ProjectName – ItemName”。
- hierarchy
- IVsUIHierarchy
对 IVsUIHierarchy 拥有文档的 的引用。
- itemId
- UInt32
标准编辑器的 UI 层次结构项标识符。 有关更多信息,请参见VSConstants.VSITEMID
。
- shouldGetDocDataFromRdt
- Boolean
如果 true
为 ,则环境将使用从正在运行的文档表获取的文档数据对象;否则,服务将使用传入到 docData
的文档数据打开文档。
- docData
- Object
对要打开的项的文档数据对象的引用或 null
。 如果 shouldGetDocDataFromRdt
true
为 ,则忽略传入此参数的此值。
- serviceProvider
- IServiceProvider
对 IServiceProvider 的引用。
返回
表示打开操作已启动的任务。
如果文档是在环境中打开的,则任务的结果是对 IVsAsyncOpenDocumentResult的引用;否则为 null
。
注解
此方法返回的任务并不指示已加载文档的视图和 docdata。 有关详细信息,请参阅 DocumentLoadTask 。
此方法使用 的结果 CreateEditorInstance(UInt32, String, String, IVsHierarchy, UInt32, IntPtr, IntPtr, IntPtr, String, Guid, Int32) 来确定它是否应继续循环到列表中的下一个编辑器,以查找受支持的编辑器工厂。 具体而言,它应返回下列值之一:1. S_OK
指示如果编辑器支持文件并且已成功初始化,则它应停止循环 2。 "VS_E_UNSUPPORTEDFORMAT"
如果编辑器不支持提供的文档数据 3,则指示它应继续循环。 指示应停止循环的任何其他错误代码。