Sdílet prostřednictvím


Otevření standardních editorů

Při otevření standardního editoru můžete integrované vývojové prostředí (IDE) určit standardní editor pro určený typ souboru místo zadávání editoru specifického pro projekt pro daný soubor.

Provedením následujícího postupu implementujte metodu OpenItem . Tím se otevře soubor projektu ve standardním editoru.

Implementace metody OpenItem pomocí standardního editoru

  1. Voláním IVsRunningDocumentTable (RDT_EditLock) určete, zda je soubor datového objektu dokumentu již otevřen.

  2. Pokud je soubor již otevřený, znovu se ochovejte voláním IsDocumentOpen metody a zadejte hodnotu IDO_ActivateIfOpen parametru grfIDO .

    Pokud je soubor otevřený a dokument vlastní jiný projekt než volající projekt, zobrazí se v projektu upozornění, že otevřený editor pochází z jiného projektu. Okno souboru se pak zobrazí.

  3. Pokud dokument není otevřený nebo není ve spuštěné tabulce dokumentu, zavolejte metodu OpenStandardEditor (OSE_ChooseBestStdEditor) a otevřete standardní editor souboru.

    Při volání metody integrované vývojové prostředí provádí následující úlohy:

    1. Integrované vývojové prostředí zkontroluje podklíč Editors/{guidEditorType}/Extensions v registru a určí, který editor může soubor otevřít, a má nejvyšší prioritu pro tento postup.

    2. Jakmile integrované vývojové prostředí určí, který editor může soubor otevřít, zavolá CreateEditorInstanceintegrované vývojové prostředí . Implementace této metody editoru vrací informace potřebné pro volání integrovaného vývojového prostředí (IDE) a vytvoření CreateDocumentWindow webu nově otevřený dokument.

    3. Nakonec integrované vývojové prostředí (IDE) načte dokument pomocí obvyklého rozhraní trvalosti, například IVsPersistDocData2.

    4. Pokud integrované vývojové prostředí (IDE) dříve zjistilo, že je k dispozici hierarchie nebo položka hierarchie, volá GetItemContext integrované vývojové prostředí (IDE) metodu pro získání kontextového ukazatele na úrovni IServiceProvider projektu, který se má předat zpět voláním CreateDocumentWindow metody.

  4. IServiceProvider Pokud chcete, aby editor získal kontext z projektu, vraťte ukazatel na integrované vývojové prostředí (IDEGetItemContext), pokud chcete editoru umožnit získání kontextu z projektu.

    Provedením tohoto kroku umožníte projektu nabídnout editoru další služby.

    Pokud bylo zobrazení dokumentu nebo objekt zobrazení dokumentu úspěšně uložen v rámečku okna, objekt se inicializuje s jeho daty voláním LoadDocData.