Données de document et vue de document dans les é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 les noms le suggèrent, l’objet de données de document représente les données textuelles à afficher.As the names suggest, the document data object represents the text data to be displayed. De même, l’objet de vue de document (ou « View ») représente une ou plusieurs fenêtres dans lesquelles afficher l’objet de données de document.Similarly, 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 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 d’autres informations.It is a COM object that stores document text and other information. L’objet de données de document gère également la persistance des documents et active plusieurs vues de ses données.The document data object also handles document persistence and enables multiple views of its data. Pour plus d'informations, consultez la rubriqueFor more information, see

DocumentData[] et les fenêtres de document.DocumentData[] and Document Windows.

Les éditeurs et les concepteurs personnalisés peuvent choisir d’utiliser l' VsTextBuffer objet ou leur propre mémoire tampon personnalisée.Custom editors and designers can opt to use the VsTextBuffer object or their own custom buffer. VsTextBuffer suit le modèle d’incorporation simplifié pour un éditeur standard, prend en charge plusieurs vues et fournit des interfaces d’événements qui sont utilisées pour 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 un autre texte est appelée vue de document ou 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 vue unique, dans laquelle le texte est affiché dans une seule fenêtre.When you create an editor, you can choose either a single view, in which text is displayed in a single window. Ou vous pouvez choisir une vue multiple, dans laquelle le texte est affiché dans plusieurs fenêtres.Or you can choose 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 d’une modification côte à côte, vous devez choisir affichage multiple.For example, if you need side-by-side editing, you would choose multiple view. Chaque vue est associée à une entrée dans la table de documents en cours d’exécution de l’environnement de développement intégré (IDE) (RDT).Each view is associated with an entry in the integrated development environment's (IDE) running document table (RDT). Les fenêtres d’affichage appartiennent à un projet ou à un 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, les données de votre document et les objets de vue de document doivent être séparés.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 prendre en charge plusieurs vues de documents.For more information, see Support multiple document views.

L’IDE avertit les affichages des événements (par exemple, lorsqu’une solution contenant un document est fermée) en faisant correspondre 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 exécution de la table des documents.For more information on this, see Running document table.

Il existe deux options pour créer une vue d’un éditeur personnalisé.There are two options for creating a view for a custom editor. L’un est le modèle d’activation sur place, où la vue est hébergée dans une fenêtre à l’aide d’un contrôle ActiveX ou d’un objet de données de 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ée pour gérer les commandes de 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 sur place, consultez activation sur place.For information about the in-place activation model, see In-place activation. Pour plus d’informations sur le modèle d’incorporation simplifié, consultez incorporation simplifiée.For information about the simplified embedding model, see Simplified embedding.

Voir aussiSee also