查找打开一个指定的项目本文档。
命名空间: 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 的形式,在非文件种情况下,此标识符常常是。
- grfEditorFlags
类型:System.UInt32
[in] 值从 __VSSPECIFICEDITORFLAGS 枚举所采用的标志。
- rguidEditorType
类型:System.Guid%
[in] 编辑类型的唯一标识符。
- pszPhysicalView
类型:System.String
[in] 物理视图的唯一标识符。
- rguidLogicalView
类型:System.Guid%
[in] 逻辑视图的唯一标识符。如果编辑器实现在文档视图对象的 IVsMultiViewDocumentView ,则将传递给 rguidLogicalView 参数确定激活哪个视图,编辑窗口显示时,,当编辑器实例化时。通过指定逻辑视图 GUID,可以请求匹配的根源所请求视图的特定视图。例如,指定 LOGVIEWID_Debugging 获取视图适合于调试或 LOGVIEWID_TextView 获取视图适合于文本编辑器 (即该视图实现 IVsCodeWindow)。
- ppSP
类型:Microsoft.VisualStudio.OLE.Interop.IServiceProvider%
[out] 为 IServiceProvider 接口的指针。
- ppHier
类型:Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy%
[out] 这样可以打开文档项目的 IVsUIHierarchy 接口的指针。
- pitemid
类型:System.UInt32%
[out] 为文档的层次结构项 ID 的指针在项目中。有关更多信息,请参见VSITEMID。
- ppWindowFrame
类型:Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame%
[out, retval] 对包含编辑器的窗架的指针。有关更多信息,请参见 IVsWindowFrame。
返回值
类型: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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。