Afficher les fichiers à l’aide de la commande ouvrir un fichierDisplay files by using the Open File command

Les étapes suivantes décrivent comment l’IDE gère la commande ouvrir un fichier , qui est disponible dans le menu fichier de Visual StudioVisual Studio .The following steps describe how the IDE handles the Open File command, which is available on the File menu in Visual StudioVisual Studio. Les étapes décrivent également comment les projets doivent répondre aux appels qui proviennent de cette commande.The steps also describe how projects should respond to calls that originate from this command.

Quand un utilisateur clique sur la commande ouvrir un fichier dans le menu fichier et sélectionne un fichier dans la boîte de dialogue ouvrir un fichier , le processus suivant se produit :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. À l’aide de la table de document en cours d’exécution, l’IDE détermine si le fichier est déjà ouvert dans un projet.Using the running document table, the IDE determines whether the file is already open in a project.

    • Si le fichier est ouvert, l’IDE réaffiche la fenêtre.If the file is open, the IDE resurfaces the window.

    • Si le fichier n’est pas ouvert, l’IDE appelle IsDocumentInProject pour interroger chaque projet afin de déterminer quel projet peut ouvrir le fichier.If the file is not open, the IDE calls IsDocumentInProject to query each project to determine which project can open the file.

      Notes

      Dans l’implémentation de votre projet de IsDocumentInProject , fournissez une valeur de priorité qui indique le niveau auquel votre projet ouvre le fichier.In your project implementation of IsDocumentInProject, provide a priority value that indicates the level at which your project opens the file. Les valeurs de priorité sont fournies dans l' VSDOCUMENTPRIORITY énumération.Priority values are provided in the VSDOCUMENTPRIORITY enumeration.

  2. Chaque projet répond avec un niveau de priorité qui indique l’importance qu’il place dans le projet pour ouvrir le fichier.Each project responds with a priority level that indicates the importance it places on being the project to open the file.

  3. L’IDE utilise les critères suivants pour déterminer quel projet ouvre le fichier :The IDE uses the following criteria to determine which project opens the file:

    • Le projet qui répond avec la priorité la plus élevée ( DP_Intrinsic ) ouvre le fichier.The project that responds with the highest priority (DP_Intrinsic) opens the file. Si plusieurs projets répondent avec cette priorité, le premier projet à répondre ouvre le fichier.If more than one project responds with this priority, the first project to respond opens the file.

    • Si aucun projet ne répond avec la priorité la plus élevée ( DP_Intrinsic ), mais que tous les projets répondent avec la même priorité, le projet actif ouvre le fichier.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 aucun projet n’est actif, le premier projet à répondre ouvre le fichier.If no project is active, the first project to respond opens the file.

    • Si aucun projet ne réclame la propriété du fichier ( DP_Unsupported ), le projet fichiers divers ouvre le fichier.If no project claims ownership of the file (DP_Unsupported), the Miscellaneous Files project opens the file.

      Si une instance du projet fichiers divers est créée, le projet répond toujours avec la valeur DP_CanAddAsExternal .If an instance of the Miscellaneous Files project is created, the project always responds with the value DP_CanAddAsExternal. Cette valeur indique que le projet peut ouvrir le fichier.This value indicates that the project can open the file. Ce projet est utilisé pour héberger des fichiers ouverts qui ne se trouvent dans aucun autre projet.This project is used to house open files that are not in any other project. La liste des éléments de ce projet n’est pas persistante. ce projet est visible dans Explorateur de solutions uniquement lorsqu’il est utilisé pour ouvrir un fichier.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 le projet fichiers divers n’indique pas qu’il peut ouvrir le fichier, une instance du projet n’a pas été créée.If the Miscellaneous Files project does not indicate that it can open the file, an instance of the project has not been created. Dans ce cas, l’IDE crée une instance du projet fichiers divers et indique au projet d’ouvrir le fichier.In this case, the IDE creates an instance of the Miscellaneous Files project and tells the project to open the file.

  4. Dès que l’IDE détermine quel projet ouvre le fichier, il appelle la OpenItem méthode sur ce projet.As soon as the IDE determines which project opens the file, it calls the OpenItem method on that project.

  5. Le projet a ensuite la possibilité d’ouvrir le fichier à l’aide d’un éditeur spécifique à un projet ou d’un éditeur standard.The project then has the option of opening the file by using a project-specific editor or a standard editor. Pour plus d’informations, consultez Comment : ouvrir des éditeurs spécifiques à un projet et Comment : ouvrir des éditeurs standard, respectivement.For more information, see How to: Open project-specific editors and How to: Open standard editors, respectively.

Voir aussiSee also