Données du document et affichage de documents dans des éditeurs personnalisésDocument Data and Document View in Custom Editors

Un éditeur personnalisé se compose de deux parties : un objet de données de document et un objet de vue de document.A custom editor consists of two parts: a document data object and a document view object. Comme leur nom le suggère, l’objet de données de document représente les données de texte à afficher, et l’objet de vue de document (ou « vue ») représente une ou plusieurs fenêtres d’affichage de l’objet de données du document.As the names suggest, the document data object represents the text data to be displayed, and the document view object (or "view") represents one or more windows in which to display the document data object.

Objet de données de documentDocument Data Object

Un objet de données de document est une représentation sous forme de données de texte dans la mémoire tampon de texte.A document data object is a data representation of text in the text buffer. Il s’agit d’un objet COM qui stocke le texte du document et autres informations, gère la persistance du document et permet à plusieurs vues de ses données.It is a COM object that stores document text and other information, handles document persistence, and enables multiple views of its data. Pour plus d'informations, consultezFor more information, see

DocumentData et fenêtres de Document.DocumentData and Document Windows.

Concepteurs et éditeurs personnalisés peuvent choisir d’utiliser le VsTextBuffer objet ou leur propre tampon personnalisé.Custom editors and designers can opt to use the VsTextBuffer object or their own custom buffer. VsTextBuffer suit le modèle simplifié de l’incorporation d’un éditeur standard, prend en charge plusieurs vues et fournit des interfaces d’événements qui permettent de gérer plusieurs vues.VsTextBuffer follows the simplified embedding model for a standard editor, supports multiple views, and provides event interfaces that are used to manage multiple views.

Objet de vue de documentDocument View Object

Une fenêtre qui affiche le code et tout autre texte est appelée un document de vue ou la vue.A window that displays code and other text is known as a document view or view. Lorsque vous créez un éditeur, vous pouvez choisir une seule vue, dans laquelle le texte est affiché dans une fenêtre unique, ou un affichage de plusieurs, dans laquelle le texte est affiché dans plusieurs fenêtres.When you create an editor, you can choose either a single view, in which text is displayed in a single window, or a multiple view, in which text is displayed in more than one window. Votre choix dépend de votre application.Your choice depends on your application. Par exemple, si vous avez besoin de modification de la côte à côte, vous choisiriez MultipleView.For example, if you need side-by-side editing, you would choose multiple view. Chaque vue est associée à une entrée dans l’environnement de développement intégré de (IDE de) la table de documents (r & DT) en cours d’exécution.Each view is associated with an entry in the integrated development environment's (IDE) running document table (RDT). Vue windows appartient à un projet ou une IVsHierarchy objet.View windows belong to a project or an IVsHierarchy object.

Si votre éditeur prend en charge plusieurs vues d’un objet de données de document, vos données de document et les objets de vue de document doivent être distinctes.If your editor supports multiple views of a document data object, then your document data and document view objects must be separate. Dans le cas contraire, ils peuvent être regroupés.Otherwise, they can be grouped together. Pour plus d’informations, consultez prenant en charge plusieurs vues de Document.For more information, see Supporting Multiple Document Views.

L’IDE signale des vues sur les événements (par exemple, lors de la fermeture d’une solution contenant un document) en mettant en correspondance un identificateur d’élément (ItemID) pour chaque entrée dans la table de document en cours d’exécution.The IDE notifies views about events (for example, when a solution containing a document is closed) by matching an item identifier (ItemID) for each entry in the running document table. Pour plus d’informations, consultez Table de documents en cours d’exécution.For more information on this, see Running Document Table.

Il existe deux options pour créer un affichage pour un éditeur personnalisé.There are two options for creating a view for a custom editor. Un est le modèle d’activation en place, où la vue est hébergée dans une fenêtre à l’aide d’un contrôle ActiveX ou un objet de données du document.One is the in-place activation model, where the view is hosted in a window using either an ActiveX control or a document data object. Le deuxième est le modèle d’incorporation simplifié, où la vue est hébergée par Visual StudioVisual Studio et IVsWindowPane est implémenté pour gérer les commandes de la fenêtre.The second is the simplified embedding model, where the view is hosted by Visual StudioVisual Studio and IVsWindowPane is implemented to handle window commands. Pour plus d’informations sur le modèle d’activation en place, consultez Activation en Place.For information about the in-place activation model, see In-Place Activation. Pour plus d’informations sur le modèle simplifié de l’incorporation, consultez incorporation simplifié.For information about the simplified embedding model, see Simplified Embedding.

Voir aussiSee Also

Prend en charge plusieurs vues de Document Supporting Multiple Document Views
Simplifié incorporation Simplified Embedding
Comment : joindre des vues de données de document How to: Attach Views to Document Data
Gestion du détenteur du verrouillage du document Document Lock Holder Management
Vues uniques et multiples d’onglet Single and Multi-tab Views
Enregistrement d’un Document Standard Saving a Standard Document
Persistance et la Table de Document en cours d’exécution Persistence and the Running Document Table
Détermination pour ouvrir l’éditeur à un fichier dans un projet Determining Which Editor Opens a File in a Project
Fabriques d’éditeurEditor Factories