Créer des éditeurs et des concepteurs personnalisés
L’environnement de développement intégré (IDE) Visual Studio peut héberger différents types d’éditeurs :
Éditeur principal de Visual Studio
Éditeurs personnalisés
Éditeurs externes
Concepteurs
Les informations suivantes vous aident à choisir le type d’éditeur dont vous avez besoin.
Types d’éditeurs
Pour plus d’informations sur l’éditeur principal de Visual Studio, consultez Étendre l’éditeur et les services linguistiques.
Éditeurs personnalisés
Un éditeur personnalisé est un éditeur conçu pour fonctionner dans des circonstances spécialisées. Par exemple, vous pouvez créer un éditeur dont la fonction consiste à lire et écrire des données dans un référentiel spécifique, tel qu’un serveur Microsoft Exchange. Choisissez un éditeur personnalisé si vous souhaitez qu’un éditeur fonctionne avec votre type de projet uniquement ou si vous souhaitez un éditeur qui n’a que quelques commandes spécifiques. Notez toutefois que les utilisateurs ne pourront pas utiliser un éditeur personnalisé pour modifier des projets Visual Studio standard.
Un éditeur personnalisé peut utiliser une fabrique d’éditeur et ajouter des informations sur l’éditeur au Registre. Toutefois, le type de projet associé à l’éditeur personnalisé peut instancier l’éditeur personnalisé de d’autres façons.
Un éditeur personnalisé peut utiliser l’activation sur place ou l’incorporation simplifiée pour implémenter une vue.
Éditeurs externes
Les éditeurs externes sont des éditeurs qui ne sont pas intégrés à Visual Studio, tels que Microsoft Word, Bloc-notes Windows ou Microsoft FrontPage. Vous pouvez appeler un tel éditeur si, par exemple, vous transmettez du texte à partir de votre VSPackage. Les éditeurs externes s’inscrivent eux-mêmes et peuvent être utilisés en dehors de Visual Studio. Lorsque vous appelez un éditeur externe et qu’il peut être incorporé dans une fenêtre hôte, il apparaît dans une fenêtre de l’IDE. Si ce n’est pas le cas, l’IDE crée une fenêtre distincte pour celle-ci.
La IsDocumentInProject méthode définit la priorité du document à l’aide de l’énumération VSDOCUMENTPRIORITY . Si la DP_External
valeur est spécifiée, le fichier peut être ouvert par un éditeur externe.
Décisions de conception de l’éditeur
Les questions de conception suivantes vous aideront à choisir le type d’éditeur le mieux adapté à votre application :
Votre application enregistrera-t-elle ses données dans des fichiers ou non ? S’il enregistrera ses données dans des fichiers, sera-t-il dans un format personnalisé ou standard ?
Si vous utilisez un format de fichier standard, d’autres types de projet en plus de votre projet pourront ouvrir et lire/écrire des données dans ces fichiers. Toutefois, si vous utilisez un format de fichier personnalisé, seul votre type de projet pourra ouvrir et lire/écrire des données dans ces fichiers.
Si votre projet utilise des fichiers, vous devez personnaliser l’éditeur standard. Si votre projet n’utilise pas de fichiers, mais utilise plutôt des éléments dans une base de données ou un autre référentiel, vous devez créer un éditeur personnalisé.
Votre éditeur doit-il héberger des contrôles ActiveX ?
Si votre éditeur héberge des contrôles ActiveX, implémentez un éditeur d’activation sur place, comme indiqué dans l’activation sur place. S’il n’héberge pas de contrôles ActiveX, utilisez un éditeur d’incorporation simplifié ou personnalisez l’éditeur visual Studio par défaut.
Votre éditeur prendra-t-il en charge plusieurs vues ? Vous devez prendre en charge plusieurs vues si vous souhaitez que les vues de votre éditeur soient visibles en même temps que l’éditeur par défaut.
Si votre éditeur doit prendre en charge plusieurs vues, les données de document et les objets de vue de document pour l’éditeur doivent être des objets distincts. Pour plus d’informations, consultez Prise en charge de plusieurs affichages de documents.
Si votre éditeur prend en charge plusieurs vues, envisagez-vous d’utiliser l’implémentation de mémoire tampon de texte (VsTextBuffer objet) de l’éditeur principal de Visual Studio pour votre objet de données de document ? Autrement dit, voulez-vous prendre en charge l’affichage de votre éditeur côte à côte avec l’éditeur principal visual Studio ? La possibilité de le faire est la base du concepteur de formulaires..
Si vous avez besoin d’héberger un éditeur externe, l’éditeur peut-il être incorporé dans Visual Studio ?
Si elle peut être incorporée, vous devez créer une fenêtre hôte pour l’éditeur externe, puis appeler la IsDocumentInProject méthode et définir la VSDOCUMENTPRIORITY valeur
DP_External
d’énumération sur . Si l’éditeur ne peut pas être incorporé, l’IDE crée automatiquement une fenêtre distincte pour celle-ci.
Dans cette section
Procédure pas à pas : Créer un éditeur personnalisé
Explique comment créer un éditeur personnalisé.
Procédure pas à pas : ajouter des fonctionnalités à un éditeur personnalisé
Explique comment ajouter des fonctionnalités à un éditeur personnalisé.
Initialisation du concepteur et configuration des métadonnées
Explique comment initialiser un concepteur.
Fournir une prise en charge d’annulation aux concepteurs
Explique comment fournir une prise en charge d’annulation pour les concepteurs.
Coloration de syntaxe dans les éditeurs personnalisés
Explique la différence entre la coloration de syntaxe dans l’éditeur principal et dans les éditeurs personnalisés.
Données de document et vue de document dans les éditeurs personnalisés
Explique comment implémenter des données de document et des vues de document dans des éditeurs personnalisés.
Contenu connexe
Interfaces héritées dans l’éditeur
Explique comment accéder à l’éditeur principal à l’aide de l’API héritée.Développer un service de langage hérité
Explique comment implémenter un service de langage.Étendre d’autres parties de Visual Studio
Explique comment créer des éléments d’interface utilisateur qui correspondent au reste de Visual Studio.