IVsUIShellOpenDocument.OpenDocumentViaProjectWithSpecific 方法

查找打开一个指定的项目本文档。

命名空间:  Microsoft.VisualStudio.Shell.Interop
程序集:  Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.dll 中)

语法

声明
Function OpenDocumentViaProjectWithSpecific ( _
    pszMkDocument As String, _
    grfEditorFlags As UInteger, _
    ByRef rguidEditorType As Guid, _
    pszPhysicalView As String, _
    ByRef rguidLogicalView As Guid, _
    <OutAttribute> ByRef ppSP As IServiceProvider, _
    <OutAttribute> ByRef ppHier As IVsUIHierarchy, _
    <OutAttribute> ByRef pitemid As UInteger, _
    <OutAttribute> ByRef ppWindowFrame As IVsWindowFrame _
) As Integer
int OpenDocumentViaProjectWithSpecific(
    string pszMkDocument,
    uint grfEditorFlags,
    ref Guid rguidEditorType,
    string pszPhysicalView,
    ref Guid rguidLogicalView,
    out IServiceProvider ppSP,
    out IVsUIHierarchy ppHier,
    out uint pitemid,
    out IVsWindowFrame ppWindowFrame
)

参数

  • pszMkDocument
    类型:System.String
    [in] 字符串文档的唯一标记标识符形式对项目系统,例如,完整路径到文件。在 URL 的形式,在非文件种情况下,此标识符常常是。
  • rguidEditorType
    类型:System.Guid%
    [in] 编辑类型的唯一标识符。
  • pszPhysicalView
    类型:System.String
    [in] 物理视图的唯一标识符。
  • rguidLogicalView
    类型:System.Guid%
    [in] 逻辑视图的唯一标识符。如果编辑器实现在文档视图对象的 IVsMultiViewDocumentView ,则将传递给 rguidLogicalView 参数确定激活哪个视图,编辑窗口显示时,,当编辑器实例化时。通过指定逻辑视图 GUID,可以请求匹配的根源所请求视图的特定视图。例如,指定 LOGVIEWID_Debugging 获取视图适合于调试或 LOGVIEWID_TextView 获取视图适合于文本编辑器 (即该视图实现 IVsCodeWindow)。
  • pitemid
    类型:System.UInt32%
    [out] 为文档的层次结构项 ID 的指针在项目中。有关更多信息,请参见VSITEMID。

返回值

类型:System.Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。

备注

COM 签名

从 vsshell.idl:

HRESULT IVsUIShellOpenDocument::OpenDocumentViaProjectWithSpecific(
   [in] LPCOLESTR pszMkDocument,
   [in] VSSPECIFICEDITORFLAGS grfEditorFlags,
   [in] REFGUID rguidEditorType,
   [in] LPCOLESTR pszPhysicalView,
   [in] REFGUID rguidLogicalView,
   [out] IServiceProvider **ppSP,
   [out] IVsUIHierarchy **ppHier,
   [out] VSITEMID *pitemid,
   [out, retval] IVsWindowFrame **ppWindowFrame
);

不是项目需要打开在特定的编辑器编辑的文档,但是,不关心的 Vspackage 使用此方法哪个项目中打开文件。若要从 VSPackage 的方法,即编辑工厂所需,以及窗口已正确希望编辑工厂创建的需要确切了解 (物理视图)。在 rguidLogicalView 参数指定的逻辑视图进一步允许您指定应由编辑器显示哪个选项,如果编辑器实现 IVsMultiViewDocumentView

此方法调用 OpenItem。如果项目中不能服务文件,并且杂项文件项目尚不存在,然后环境创建杂项文件再次项目并重试。

.NET Framework 安全性

请参见

参考

IVsUIShellOpenDocument 接口

Microsoft.VisualStudio.Shell.Interop 命名空间