Instancier l'éditeur principal à l'aide de l'API héritée
L'éditeur est responsable des fonctions d'édition de texte comme la mise en place, la suppression, la copie, puis collez. Il combine ces fonctions avec celles fournies par les services de langage, tels que la couleur de texte, la mise en retrait, et la saisie semi-automatique des instructions Intellisense.
Vous pouvez instancier une instance du éditeur principal de trois façons :
Créez explicitement une instance du éditeur principal dans une fenêtre.
Fournissez une fabrique d'éditeur qui retourne une instance du éditeur principal
ouvrez un fichier de la hiérarchie de projet.
Les sections suivantes expliquent comment utiliser l'API héritée pour instancier l'éditeur.
Ouvrir explicitement une instance principale de l'éditeur
En obtenant explicitement une instance du éditeur principal :
Obtenez IVsTextBuffer pour conserver l'objet de données du document sont modifiés.
Créez une représentation au niveau de la ligne de l'objet de données du document en créant une interface d' IVsTextLines de l'interface d' IVsTextBuffer .
Définissez IVsTextLines comme un objet de données du document associé à une instance de l'implémentation par défaut de l'interface d' IVsCodeWindow , à l'aide de la méthode d' SetBuffer .
hébergez l'instance d' IVsCodeWindow dans une interface d' IVsWindowFrame à l'aide de la méthode d' CreateToolWindow .
À ce stade, afficher l'interface d' IVsWindowFrame fournit une fenêtre qui contient une instance du éditeur principal.
Toutefois, ce n'est pas une instance très utile, car il n'a pas de touches de raccourci, ou accédez à la fonctionnalité avancée. pour obtenir l'accès aux touches de raccourci et à la fonctionnalité avancée :
Utilisez la méthode d' SetLanguageServiceID pour associer un service de langage et l'objet de données du document que l'éditeur utilise.
Créez vos propres touches de raccourci, ou utilisez la valeur par défaut du système en définissant les propriétés d'affichage d'objets d' IVsWindowFrame . Pour ce faire, appelez la méthode d' SetGuidProperty avec la propriété d' VSFPROPID_InheritKeyBindings .
Pour obtenir et utiliser les touches de raccourci non standard, générez-les à l'aide de le fichier de .vsct. Pour plus d'informations, consultez Tableau de commande Visual Studio (. fichiers de Vsct).
Comment utiliser une fabrique d'éditeur pour obtenir l'éditeur principal
En implémentant un éditeur principal avec une fabrique d'éditeur à l'aide de la méthode d' CreateEditorInstance , suivez les étapes présentées dans la section précédente pour héberger explicitement IVsCodeWindow à l'aide d'un objet de données du document de IVsTextBuffer , dans un objet d' IVsWindowFrame .
pour afficher le texte, obtenez une interface d' IVsTextView de l'objet d' IVsCodeWindow et appelez la méthode d' CreateEditorInstance .
Pour fournir un service de langage à l'éditeur, appelez la méthode d' SetLanguageServiceID dans la méthode d' CreateEditorInstance .
Pour obtenir les touches de raccourci par défaut, contrairement à la section précédente, vous utilisez le contexte de commande retourné par la méthode d' CreateEditorInstance en obtenant l'éditeur principal de la méthode d' CreateEditorInstance .
Si la méthode d' CreateEditorInstance retourne la même commande GUID que l'éditeur de texte, l'instance du éditeur principal obtient automatiquement les touches de raccourci par défaut.
Pour des informations générales, consultez How to: Register an Editor Factory Using MPF Class Attributes et l' Procédure pas - à - pas : Création d'un éditeur principal et stocker un type de fichier de l'éditeur.
Voir aussi
Tâches
Procédure pas - à - pas : Création d'un éditeur principal et stocker un type de fichier de l'éditeur
Autres ressources
À l'intérieur de le éditeur principal