Aprire editor standard

Quando si apre un editor standard, si consente all'IDE di determinare un editor standard per un tipo di file designato, anziché specificare un editor specifico del progetto per il file.

Completare la procedura seguente per implementare il OpenItem metodo . Verrà aperto un file di progetto in un editor standard.

Per implementare il metodo OpenItem con un editor standard

  1. Chiamare IVsRunningDocumentTable (RDT_EditLock) per determinare se il file dell'oggetto dati del documento è già aperto.

  2. Se il file è già aperto, riaccedare il file chiamando il IsDocumentOpen metodo , specificando un valore di IDO_ActivateIfOpen per il grfIDO parametro .

    Se il file è aperto e il documento è di proprietà di un progetto diverso da quello chiamante, il progetto riceve un avviso che indica che l'editor aperto proviene da un altro progetto. Viene quindi visualizzata la finestra del file.

  3. Se il documento non è aperto o non è presente nella tabella dei documenti in esecuzione, chiamare il OpenStandardEditor metodo (OSE_ChooseBestStdEditor) per aprire un editor standard per il file.

    Quando si chiama il metodo , l'IDE esegue le attività seguenti:

    1. L'IDE analizza la sottochiave Editors/{guidEditorType}/Extensions nel Registro di sistema per determinare quale editor può aprire il file e ha la priorità più alta per eseguire questa operazione.

    2. Dopo che l'IDE ha determinato quale editor può aprire il file, l'IDE chiama CreateEditorInstance. L'implementazione dell'editor di questo metodo restituisce informazioni necessarie per chiamare CreateDocumentWindow l'IDE e il sito del documento appena aperto.

    3. Infine, l'IDE carica il documento usando l'interfaccia di persistenza consueta, ad esempio IVsPersistDocData2.

    4. Se l'IDE ha stabilito in precedenza che la gerarchia o l'elemento della gerarchia è disponibile, l'IDE chiama GetItemContext il metodo nel progetto per ottenere un puntatore di contesto IServiceProvider a livello di progetto da passare di nuovo con la chiamata al CreateDocumentWindow metodo.

  4. Restituire un IServiceProvider puntatore all'IDE quando l'IDE chiama GetItemContext il progetto se si vuole consentire all'editor di ottenere il contesto dal progetto.

    L'esecuzione di questo passaggio consente al progetto di offrire servizi aggiuntivi all'editor.

    Se la visualizzazione documento o l'oggetto visualizzazione documento è stato inserito correttamente in una cornice di finestra, l'oggetto viene inizializzato con i relativi dati chiamando LoadDocData.