Compartir a través de


Mostrar archivos mediante el comando Abrir archivo

En los pasos siguientes se describe cómo controla el IDE el comando Abrir archivo , que está disponible en el menú Archivo de Visual Studio. Los pasos también describen cómo los proyectos deben responder a las llamadas que se originan en este comando.

Cuando un usuario hace clic en el comando Abrir archivo en el menú Archivo y selecciona un archivo en el cuadro de diálogo Abrir archivo , se produce el siguiente proceso:

  1. Con la tabla de documentos en ejecución, el IDE determina si el archivo ya está abierto en un proyecto.

    • Si el archivo está abierto, el IDE vuelve a aparecer en la ventana.

    • Si el archivo no está abierto, el IDE llama IsDocumentInProject a para consultar cada proyecto para determinar qué proyecto puede abrir el archivo.

      Nota:

      En la implementación del proyecto de IsDocumentInProject, proporcione un valor de prioridad que indique el nivel en el que el proyecto abre el archivo. Los valores de prioridad se proporcionan en la VSDOCUMENTPRIORITY enumeración .

  2. Cada proyecto responde con un nivel de prioridad que indica la importancia que pone en el proyecto para abrir el archivo.

  3. El IDE usa los criterios siguientes para determinar qué proyecto abre el archivo:

    • El proyecto que responde con la prioridad más alta (DP_Intrinsic) abre el archivo. Si más de un proyecto responde con esta prioridad, el primer proyecto para responder abre el archivo.

    • Si ningún proyecto responde con la prioridad más alta (DP_Intrinsic), pero todos los proyectos responden con la misma prioridad, menor prioridad, el proyecto activo abre el archivo. Si no hay ningún proyecto activo, el primer proyecto para responder abre el archivo.

    • Si ningún proyecto reclama la propiedad del archivo (DP_Unsupported), el proyecto Archivos varios abre el archivo.

      Si se crea una instancia del proyecto Archivos varios, el proyecto siempre responde con el valor DP_CanAddAsExternal. Este valor indica que el proyecto puede abrir el archivo. Este proyecto se usa para hospedar archivos abiertos que no están en ningún otro proyecto. La lista de elementos de este proyecto no se conserva; este proyecto solo está visible en Explorador de soluciones cuando se usa para abrir un archivo.

      Si el proyecto Archivos varios no indica que puede abrir el archivo, no se ha creado una instancia del proyecto. En este caso, el IDE crea una instancia del proyecto Archivos varios e indica al proyecto que abra el archivo.

  4. En cuanto el IDE determina qué proyecto abre el archivo, llama al OpenItem método en ese proyecto.

  5. A continuación, el proyecto tiene la opción de abrir el archivo mediante un editor específico del proyecto o un editor estándar. Para obtener más información, vea Cómo: Abrir editores específicos del proyecto y Cómo: Abrir editores estándar, respectivamente.