IVsProject3.OpenItem(UInt32, Guid, IntPtr, IVsWindowFrame) Metoda

Definice

Otevře položku v projektu.Opens an item in the project.

public:
 int OpenItem(System::UInt32 itemid, Guid % rguidLogicalView, IntPtr punkDocDataExisting, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsWindowFrame ^ % ppWindowFrame);
public int OpenItem (uint itemid, ref Guid rguidLogicalView, IntPtr punkDocDataExisting, out Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame ppWindowFrame);
abstract member OpenItem : uint32 * Guid * nativeint * IVsWindowFrame -> int
Public Function OpenItem (itemid As UInteger, ByRef rguidLogicalView As Guid, punkDocDataExisting As IntPtr, ByRef ppWindowFrame As IVsWindowFrame) As Integer

Parametry

itemid
UInt32

pro Identifikátor položky, která se má otevřít[in] Identifier of the item to open. By měl být VSITEMID_ROOT nebo jiný platný identifikátor položky.Should be VSITEMID_ROOT or other valid item identifier. Podívejte se na VSITEMID výčet.See the VSITEMID enumeration.

rguidLogicalView
Guid

pro Jedinečný identifikátor logického zobrazení[in] Unique identifier of the logical view. Pokud není GUID_NULL, označuje konkrétní typ zobrazení, který se má vytvořit.If not GUID_NULL, indicates a specific type of view to create. Další informace najdete v tématu LOGVIEWID.For more information, see the LOGVIEWID.

punkDocDataExisting
IntPtr

pro Ukazatel na datový objekt dokumentu položky, který chcete otevřít.[in] Pointer to the document data object of the item to open. Pokud má volající OpenItem ukazatel na datový objekt dokumentu, by ho předával v punkDocDataExisting parametru.If the caller of OpenItem had a pointer to the document data object, it would pass it in the punkDocDataExisting parameter. Pokud se volající věděl, že se datový objekt dokumentu neotevřel, bude úspěšně předaný null .If the caller knew that the document data object was not open, it would pass null. Pokud volající neznal, zda byl datový objekt dokumentu otevřen, nebo pokud jej nechtěl vyhledat v běžící tabulce dokumentů (RDT), aby se zjistil, pak se může při předání DOCDATAEXISTING_UNKNOWN této hodnoty OpenStandardEditor(UInt32, String, Guid, String, IVsUIHierarchy, UInt32, IntPtr, IServiceProvider, IVsWindowFrame) Vyhledat hodnota v RDT voláním FindAndLockDocument(UInt32, String, IVsHierarchy, UInt32, IntPtr, UInt32) (RDT_EditLock) a určit, zda je soubor (datový objekt dokumentu) již otevřen.If the caller did not know if the document data object was open or if it did not want to look it up in the running document table (RDT) to find out, then it could pass in DOCDATAEXISTING_UNKNOWN If this value is passed, then OpenStandardEditor(UInt32, String, Guid, String, IVsUIHierarchy, UInt32, IntPtr, IServiceProvider, IVsWindowFrame) will look up the value in the RDT by calling FindAndLockDocument(UInt32, String, IVsHierarchy, UInt32, IntPtr, UInt32) (RDT_EditLock) to determine whether the file (document data object) is already open.

ppWindowFrame
IVsWindowFrame

mimo Ukazatel na IVsWindowFrame rozhraní.[out] Pointer to the IVsWindowFrame interface.

Návraty

Int32

Pokud je metoda úspěšná, vrátí S_OK .If the method succeeds, it returns S_OK. Pokud dojde k chybě, vrátí kód chyby.If it fails, it returns an error code.

Implementuje

Poznámky

Podpis COMCOM Signature

Z vsshell. idl:From vsshell.idl:

HRESULT IVsProject3::OpenItem(  
   [in] VSITEMID itemid,  
   [in] REFGUID rguidLogicalView,  
   [in] IUnknown *punkDocDataExisting,  
   [out] IVsWindowFrame **ppWindowFrame  
);  

Implementací IVsProjectSpecificEditorMap2 rozhraní v objektu projektu můžete provádět zpracování souborů specifických pro konkrétní projekt.By implementing IVsProjectSpecificEditorMap2 Interface on your project object, you can do project-specific handling of files. To znamená, že můžete podporovat buď otevření souboru v editoru specifického pro projekt, nebo umožnění globálního editoru pro otevření položky.That is, you can support either opening the file in a project-specific editor or allowing the global editor to open the item. Otevření položky vyžaduje spuštění editoru pomocí OpenStandardEditor nebo OpenSpecificEditor , v závislosti na zpracování, které chcete implementovat.Opening an item requires launching an editor using OpenStandardEditor or OpenSpecificEditor, depending on the handling you want to implement. Další informace naleznete v tématu GetSpecificEditorProperty.For more information, see GetSpecificEditorProperty.

Poznámka

V implementaci nástroje OpenItem Nevolejte Show na rámec okna, které vracíte ppWindowFrame .In your implementation of OpenItem, do not call Show on the window frame you return in ppWindowFrame.

Porovnat s ReopenItem metodou.Compare to ReopenItem method.

Platí pro