Mostrar archivos mediante el comando Abrir archivoDisplay files by using the Open File command

Los pasos siguientes describen cómo el IDE controla el abrir archivo comando, que está disponible en el archivo menú Programa para la mejoraVisual Studio.The following steps describe how the IDE handles the Open File command, which is available on the File menu in Programa para la mejoraVisual Studio. También se describe cómo los proyectos deben responder a las llamadas que proceden de este comando.The steps also describe how projects should respond to calls that originate from this command.

Cuando un usuario hace clic en el abrir archivo comando el archivo menú y selecciona un archivo desde el abrir archivo cuadro de diálogo, que se produce el siguiente proceso:When a user clicks the Open File command on the File menu, and selects a file from the Open File dialog box, the following process occurs:

  1. Uso de la tabla de documentos en ejecución, el IDE determina si el archivo ya está abierto en un proyecto.Using the running document table, the IDE determines whether the file is already open in a project.

    • Si el archivo está abierto, el IDE reaparece la ventana.If the file is open, the IDE resurfaces the window.

    • Si el archivo no está abierto, el IDE llama IsDocumentInProject para cada proyecto para determinar qué proyecto puede abrir el archivo de consulta.If the file is not open, the IDE calls IsDocumentInProject to query each project to determine which project can open the file.

      Nota

      En la implementación del proyecto de IsDocumentInProject, proporcione un valor de prioridad que indica el nivel en el que el proyecto abre el archivo.In your project implementation of IsDocumentInProject, provide a priority value that indicates the level at which your project opens the file. Se proporcionan los valores de prioridad en el VSDOCUMENTPRIORITY enumeración.Priority values are provided in the VSDOCUMENTPRIORITY enumeration.

  2. Cada proyecto responde con un nivel de prioridad que indica la importancia coloca en la que el proyecto para abrir el archivo.Each project responds with a priority level that indicates the importance it places on being the project to open the file.

  3. El IDE usa los siguientes criterios para determinar qué proyecto abre el archivo:The IDE uses the following criteria to determine which project opens the file:

    • El proyecto al que responde con la prioridad más alta (DP_Intrinsic) se abre el archivo.The project that responds with the highest priority (DP_Intrinsic) opens the file. Si más de un proyecto responde con esta prioridad, el primer proyecto responder abre el archivo.If more than one project responds with this priority, the first project to respond opens the file.

    • Si no hay ningún proyecto responde con la prioridad más alta (DP_Intrinsic), pero todos los proyectos de responder con la prioridad del misma, inferior, el archivo abre el proyecto activo.If no project responds with the highest priority (DP_Intrinsic), but all projects respond with the same, lower priority, the active project opens the file. Si no hay ningún proyecto está activo, el primer proyecto responder abre el archivo.If no project is active, the first project to respond opens the file.

    • Si no hay ningún proyecto reclama la propiedad del archivo (DP_Unsupported), el archivo abre el proyecto archivos varios.If no project claims ownership of the file (DP_Unsupported), the Miscellaneous Files project opens the file.

      Si se crea una instancia del proyecto archivos varios, el proyecto siempre responde con el valor DP_CanAddAsExternal.If an instance of the Miscellaneous Files project is created, the project always responds with the value DP_CanAddAsExternal. Este valor indica que el proyecto puede abrir el archivo.This value indicates that the project can open the file. Este proyecto se usa para alojar los archivos abiertos que no están en cualquier otro proyecto.This project is used to house open files that are not in any other project. La lista de elementos de este proyecto no es persistente; Este proyecto está visible en el Explorador de soluciones solo cuando se usa para abrir un archivo.The list of items in this project is not persisted; this project is visible in Solution Explorer only when it is used to open a file.

      Si no indica el proyecto archivos varios que puede abrir el archivo, no se ha creado una instancia del proyecto.If the Miscellaneous Files project does not indicate that it can open the file, an instance of the project has not been created. En este caso, el IDE crea una instancia del proyecto archivos varios e indica al proyecto para abrir el archivo.In this case, the IDE creates an instance of the Miscellaneous Files project and tells the project to open the file.

  4. Tan pronto como el IDE determina qué proyecto abre el archivo, llama a la OpenItem método en ese proyecto.As soon as the IDE determines which project opens the file, it calls the OpenItem method on that project.

  5. El proyecto, a continuación, tiene la opción de abrir el archivo con un editor específico del proyecto o un editor estándar.The project then has the option of opening the file by using a project-specific editor or a standard editor. Para obtener más información, consulte Cómo: abrir editores específicos del proyecto y Cómo: abrir editores estándar, respectivamente.For more information, see How to: Open project-specific editors and How to: Open standard editors, respectively.

Vea tambiénSee also

Mostrar archivos mediante el comando Abrir con Display files by using the Open With command
Abrir y guardar elementos de proyecto Open and save project items
Cómo: abrir editores específicos del proyecto How to: Open project-specific editors
Cómo: abrir editores estándarHow to: Open standard editors