Comment : ouvrir des éditeurs pour les documents ouvertsHow to: Open editors for open documents

Avant d’un projet s’ouvre une fenêtre de document, le projet devez d’abord déterminer si le fichier est déjà ouvert dans la fenêtre de document pour un autre éditeur.Before a project opens a document window, the project first must determine whether the file is already open in the document window for another editor. Le fichier peut être soit ouvert dans un éditeur spécifique au projet ou un des éditeurs standards inscrit avec Visual StudioVisual Studio.The file can be either open in a project-specific editor, or one of the standard editors registered with Visual StudioVisual Studio.

Ouvrez un éditeur spécifique au projetOpen a project-specific editor

Utilisez la procédure suivante pour ouvrir un éditeur spécifique au projet pour un fichier qui est déjà ouvert.Use the following procedure to open a project-specific editor for a file that is already open.

Pour ouvrir un éditeur spécifique au projet pour un fichier ouvertTo open a project-specific editor for an open file

  1. Appelez la méthode IsDocumentOpen.Call the IsDocumentOpen method.

    Cet appel retourne des pointeurs vers la hiérarchie du document, élément de hiérarchie et le frame de fenêtre, le cas échéant.This call returns pointers to the document's hierarchy, hierarchy item, and window frame, if appropriate.

  2. Si le document est ouvert, le projet doit vérifier a posteriori si seul un objet de données de document existe, ou si un objet de vue de document est également présent.If the document is open, the project must check to see whether only a document data object exists, or if a document view object is also present.

    • Si un objet de vue de document existe, et cette vue est pour une autre hiérarchie ou un élément de la hiérarchie, le projet utilise le pointeur de frame de fenêtre de la vue pour resurface la fenêtre existante.If a document view object exists, and this view is for a different hierarchy or hierarchy item, the project uses the pointer to the view's window frame to resurface the existing window.

    • Si un objet de vue de document existe, et cette vue est pour la même hiérarchie et un élément de la hiérarchie, le projet peut ouvrir une seconde vue si s’attacher à l’objet de données sous-jacent.If a document view object exists, and this view is for the same hierarchy and hierarchy item, the project can open a second view if it can attach to the underlying document data object. Sinon, le projet doit utiliser le pointeur de frame de fenêtre de la vue à resurface la fenêtre existante.Otherwise, the project should use the pointer to the view's window frame to resurface the existing window.

    • Si seul l’objet de données existe, le projet doit déterminer s’il peut utiliser l’objet de données pour sa vue.If only the document data object exists, the project should determine whether it can use the document data object for its view. Si l’objet de données est compatible, terminé les étapes décrites dans ouvrir un éditeur spécifique au projet.If the document data object is compatible, complete the steps discussed in Open a project-specific editor.

      Si l’objet de données n’est pas compatible, une erreur doit être affichée à l’utilisateur qui indique que le fichier est actuellement en cours d’utilisation.If the document data object is not compatible, an error should be displayed to the user that indicates that the file is currently in use. Cette erreur doit être affichée uniquement dans les cas temporaires, tels que lors de la compilation d’un fichier en même temps l’utilisateur tente d’ouvrir le fichier à l’aide d’un éditeur autre que le Visual StudioVisual Studio principal éditeur de texte.This error should only be displayed in transient cases, such as when a file is being compiled at the same time the user is trying to open the file by using an editor other than the Visual StudioVisual Studio core text editor. L’éditeur de texte principal peut partager des objets de données de document avec le compilateur.The core text editor can share document data object with the compiler.

  3. Si le document n’est pas ouvert, car il n’existe aucun objet de données de document ou d’un objet de vue de document, suivez les étapes de ouvrir un éditeur spécifique au projet.If the document is not open because there is no document data object or document view object, complete the steps in Open a project-specific editor.

Ouvrez un éditeur standardOpen a standard editor

Utilisez la procédure suivante pour ouvrir un éditeur standard d’un fichier qui est déjà ouvrir.Use the following procedure to open a standard editor for a file that is already open.

Pour ouvrir un éditeur standard d’un fichier ouvertTo open a standard editor for an open file

  1. Appelez OpenStandardEditor.Call OpenStandardEditor.

    Cette méthode vérifie d’abord que le document n’est pas déjà ouvert en appelant IsDocumentOpen.This method first verifies that the document is not already open by calling IsDocumentOpen. Si le document est déjà ouvert, sa fenêtre d’éditeur est remontée.If the document is already open, then its editor window is resurfaced.

  2. Si le document n’est pas ouvert, puis suivez les étapes de Comment : ouvrir des éditeurs standard.If the document is not open, then complete the steps in How to: Open standard editors.

Voir aussiSee also

Ouvrir et enregistrer des éléments de projet Open and Save project items
Comment : ouvrir des éditeurs spécifiques du projet How to: Open project-specific editors
Comment : ouvrir des éditeurs standardHow to: Open standard editors