Cómo: abrir editores estándaresHow to: Open Standard Editors

Cuando se abre un editor estándar, permiten el IDE determinar un editor estándar para un tipo de archivo designado, en lugar de especificar un editor específico del proyecto para el archivo.When you open a standard editor, you let the IDE determine a standard editor for a designated file type, instead of specifying a project-specific editor for the file.

Complete el procedimiento siguiente para implementar el OpenItem método.Complete the following procedure to implement the OpenItem method. Se abrirá un archivo de proyecto en un editor estándar.This will open a project file in a standard editor.

Para implementar el método OpenItem con un editor estándarTo implement the OpenItem method with a standard editor

  1. Llame a IVsRunningDocumentTable (RDT_EditLock) para determinar si el archivo de objeto de datos de documento ya está abierto.Call IVsRunningDocumentTable (RDT_EditLock) to determine whether the document data object file is already open.

  2. Si el archivo ya está abierto, reaparece el archivo mediante una llamada a la IsDocumentOpen método, especificando un valor de IDO_ActivateIfOpen para el grfIDO parámetro.If the file is already open, resurface the file by calling the IsDocumentOpen method, specifying a value of IDO_ActivateIfOpen for the grfIDO parameter.

    Si el archivo está abierto y el documento pertenece a un proyecto diferente a del proyecto que realiza la llamada, el proyecto recibe una advertencia que es el editor que se está abriendo desde otro proyecto.If the file is open and the document is owned by a different project than the calling project, your project receives a warning that the editor being opened is from another project. A continuación, aparece la ventana de archivo.The file window is then surfaced.

  3. Si el documento no está abierto o no en la tabla de documento de ejecución, llame a la OpenStandardEditor (método) (OSE_ChooseBestStdEditor) para abrir un editor estándar para el archivo.If the document is not open or not in the running document table, call the OpenStandardEditor method (OSE_ChooseBestStdEditor) to open a standard editor for the file.

    Cuando se llama al método, el IDE realiza las tareas siguientes:When you call the method, the IDE performs the following tasks:

    1. El IDE examina los editores / {guidEditorType} / subclave de extensiones en el registro para determinar qué editor puede abrir el archivo y tiene la prioridad más alta para realizar esta acción.The IDE scans the Editors/{guidEditorType}/Extensions subkey in the registry to determine which editor can open the file and has the highest priority for doing this.

    2. Una vez que el IDE ha determinado qué editor puede abrir el archivo, el IDE llama CreateEditorInstance.After the IDE has determined which editor can open the file, the IDE calls CreateEditorInstance. Implementación del editor de este método devuelve la información necesaria para el IDE llamar a CreateDocumentWindow y el documento recién abierto del sitio.The editor's implementation of this method returns information that is required for the IDE to call CreateDocumentWindow and site the newly opened document.

    3. Por último, el IDE carga el documento mediante la interfaz de persistencia habituales, como IVsPersistDocData2.Finally, the IDE loads the document by using the usual persistence interface, such as IVsPersistDocData2.

    4. Si el IDE previamente ha determinado que la jerarquía o un elemento de la jerarquía está disponible, el IDE llama GetItemContext método en el proyecto para obtener un contexto de nivel de proyecto IServiceProvider puntero para pasar en con el CreateDocumentWindow llamada al método.If the IDE has previously determined that the hierarchy or hierarchy item is available, the IDE calls GetItemContext method on the project to get a project-level context IServiceProvider pointer to pass back in with the CreateDocumentWindow method call.

  4. Devolver un IServiceProvider puntero para el IDE cuando el IDE llama GetItemContext en el proyecto si desea permitir que el contexto de get editor desde el proyecto.Return an IServiceProvider pointer to the IDE when the IDE calls GetItemContext on your project if you want to let the editor get context from your project.

    Llevar a cabo este paso permite a los servicios adicionales de oferta de proyecto en el editor.Performing this step lets the project offer additional services to the editor.

    Si la vista de documento o el objeto de vista de documento correctamente se sitúa en un marco de ventana, el objeto se inicializa con sus datos mediante una llamada a LoadDocData.If the document view or document view object was successfully sited in a window frame, the object is initialized with its data by calling LoadDocData.

Vea tambiénSee Also

IServiceProvider
Abrir y guardar elementos de proyecto Opening and Saving Project Items
Cómo: abrir editores específica del proyecto How to: Open Project-Specific Editors
Cómo: abrir editores para los documentos abiertos How to: Open Editors for Open Documents
Visualización de archivos mediante el comando Abrir archivoDisplaying Files By Using the Open File Command