Udostępnij za pośrednictwem


Metoda IVsUIShellOpenDocument.OpenDocumentViaProjectWithSpecific — (String, UInt32, Guid, String, Guid, IServiceProvider, IVsUIHierarchy, UInt32, IVsWindowFrame)

 

Umożliwia znalezienie określonego projektu, aby otworzyć ten dokument.

Przestrzeń nazw:   Microsoft.VisualStudio.Shell.Interop
Zestaw:  Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)

Składnia

int OpenDocumentViaProjectWithSpecific(
    string pszMkDocument,
    uint grfEditorFlags,
    [InAttribute] ref Guid rguidEditorType,
    string pszPhysicalView,
    [InAttribute] ref Guid rguidLogicalView,
    out IServiceProvider ppSP,
    out IVsUIHierarchy ppHier,
    out uint pitemid,
    out IVsWindowFrame ppWindowFrame
)
int OpenDocumentViaProjectWithSpecific(
    String^ pszMkDocument,
    unsigned int grfEditorFlags,
    [InAttribute] Guid% rguidEditorType,
    String^ pszPhysicalView,
    [InAttribute] Guid% rguidLogicalView,
    [OutAttribute] IServiceProvider^% ppSP,
    [OutAttribute] IVsUIHierarchy^% ppHier,
    [OutAttribute] unsigned int% pitemid,
    [OutAttribute] IVsWindowFrame^% ppWindowFrame
)
abstract OpenDocumentViaProjectWithSpecific : 
        pszMkDocument:string *
        grfEditorFlags:uint32 *
        rguidEditorType:Guid byref *
        pszPhysicalView:string *
        rguidLogicalView:Guid byref *
        ppSP:IServiceProvider byref *
        ppHier:IVsUIHierarchy byref *
        pitemid:uint32 byref *
        ppWindowFrame:IVsWindowFrame byref -> int
Function OpenDocumentViaProjectWithSpecific (
    pszMkDocument As String,
    grfEditorFlags As UInteger,
    <InAttribute> ByRef rguidEditorType As Guid,
    pszPhysicalView As String,
    <InAttribute> 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

Parametry

  • pszMkDocument
    Type: System.String

    [in] Ciąg formularza moniker Unikatowy identyfikator dokumentu w systemie projektu, na przykład Pełna ścieżka do pliku. W przypadku plików innych niż ten identyfikator jest często w postaci adresu URL.

  • rguidEditorType
    Type: System.Guid

    [in] Unikatowy identyfikator typu edytora.

  • pszPhysicalView
    Type: System.String

    [in] Unikatowy identyfikator widoku fizycznych.

  • rguidLogicalView
    Type: System.Guid

    [in] Unikatowy identyfikator widoku logicznym. Jeśli Edytor implementuje IVsMultiViewDocumentView na obiekt widoku dokumentu, następnie wartość przekazywana do rguidLogicalView parametr określa widok jest aktywny, gdy okno edytora jest wyświetlany, gdy zostanie uruchomiony Edytor. Określając widok logiczny identyfikatora GUID, możesz poprosić o specjalny widok, który jest zgodna z powodu żądania widoku. Na przykład określić LOGVIEWID_Debugging uzyskać odpowiednie do debugowania, widok lub LOGVIEWID_TextView uzyskanie odpowiedniego edytora tekstów widoku (oznacza to, że widok, który implementuje IVsCodeWindow).

  • pitemid
    Type: System.UInt32

    [out] Wskaźnik do identyfikatora elementu hierarchii dokumentu w projekcie. Aby uzyskać więcej informacji, zobacz VSITEMID.

Wartość zwracana

Type: System.Int32

Jeśli metoda zakończy się pomyślnie, zwraca S_OK. Jeśli nie, zwraca kod błędu.

Uwagi

Podpis COM

Z 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
);

Ta metoda jest używana przez pakiety VSPackages, które nie są projekty, które należy otworzyć dokument w edytorze określonych, ale nie nie opieka projektu otwiera plik. Aby wywołać tę metodę z Twojego pakietu VSPackage, użytkownik musi wiedzieć ma dokładnie których fabryki edytora i dokładnie okna, które chcesz fabryki edytora, aby utworzyć (oznacza to, że widok fizycznych). Widok logiczny określone w rguidLogicalView dalsze parametr umożliwia określenie karty mają być wyświetlane przez edytor, jeśli edytor implementuje IVsMultiViewDocumentView.

Ta metoda wywołuje OpenItem. Jeśli projekt nie może obsłużyć plik i inne pliki projektu nie jest już obecny, środowiska następnie tworzy projekt różne pliki i spróbuje ponownie.

Zobacz też

Interfejs IVsUIShellOpenDocument
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop

Powrót do początku