Share via


Abrir editores para documentos abiertos

Antes de que un proyecto abra una ventana de documento, el proyecto primero debe determinar si el archivo ya está abierto en la ventana del documento para otro editor. El archivo puede abrirse en un editor específico del proyecto o uno de los editores estándar registrados con Visual Studio.

Abrir un editor específico del proyecto

Use el procedimiento siguiente para abrir un editor específico del proyecto para un archivo que ya está abierto.

Para abrir un editor específico del proyecto para un archivo abierto

  1. Llame al método IsDocumentOpen.

    Esta llamada devuelve punteros a la jerarquía, el elemento de jerarquía y el marco de ventana del documento, si procede.

  2. Si el documento está abierto, el proyecto debe comprobar si solo existe un objeto de datos de documento o si también existe un objeto de vista de documento.

    • Si existe un objeto de vista de documento y esta vista es para un elemento de jerarquía o jerarquía diferente, el proyecto usa el puntero al marco de ventana de la vista para volver a mostrar la ventana existente.

    • Si existe un objeto de vista de documento y esta vista es para el mismo elemento de jerarquía y jerarquía, el proyecto puede abrir una segunda vista si puede asociarse al objeto de datos del documento subyacente. De lo contrario, el proyecto debe usar el puntero al marco de la ventana de la vista para volver a mostrar la ventana existente.

    • Si solo existe el objeto de datos del documento, el proyecto debe determinar si puede usar el objeto de datos del documento para su vista. Si el objeto de datos del documento es compatible, complete los pasos descritos en Abrir un editor específico del proyecto.

      Si el objeto de datos del documento no es compatible, se debe mostrar un error al usuario que indica que el archivo está en uso actualmente. Este error solo debe mostrarse en casos transitorios, como cuando se compila un archivo al mismo tiempo que el usuario intenta abrir el archivo mediante un editor distinto del editor de texto principal de Visual Studio. El editor de texto principal puede compartir el objeto de datos del documento con el compilador.

  3. Si el documento no está abierto porque no hay ningún objeto de datos de documento o objeto de vista de documento, complete los pasos descritos en Abrir un editor específico del proyecto.

Abrir un editor estándar

Use el procedimiento siguiente para abrir un editor estándar para un archivo que ya está abierto.

Para abrir un editor estándar para un archivo abierto

  1. Llame a OpenStandardEditor.

    En primer lugar, este método comprueba que el documento no está abierto llamando a IsDocumentOpen. Si el documento ya está abierto, se vuelve a abrir la ventana del editor.

  2. Si el documento no está abierto, complete los pasos descritos en Cómo: Abrir editores estándar.