importations d'éditeur
Vous pouvez importer un certain nombre de services, de fabriques, et de courtiers d'éditeur qui fournissent à votre extension différents genres d'accès au éditeur principal. Par exemple, vous pouvez importer ITextStructureNavigatorSelectorService à vous donner ITextStructureNavigator pour un type de contenu donné. (Ce navigateur vous permet d'exécuter différents genres de recherches sur une mémoire tampon de texte.)
Pour utiliser une importation d'éditeur, vous l'importer en tant que champ ou une propriété d'une classe qui exporte un composant managé d'infrastructure d'extensibilité.
Notes
Pour plus d'informations sur managed extensibility framework, consultez Managed Extensibility Framework (MEF).
syntaxe d'importation
l'exemple suivant montre comment importer le service de fabrique d'options de l'éditeur.
[Import]
internal IEditorOptionsFactoryService EditorOptions { get; set; }
Si vous souhaitez importer le service en tant que champ et pas propriété, vous devez la définir à null dans la déclaration pour éviter les avertissements de compilateur à propos de ne pas assigner à une variable :
[Import]
internal IEditorOptionsFactoryService m_editorOptions = null;
Pour obtenir plus d'exemples d'utiliser des importations, consultez les procédures pas - à - pas suivantes :
Procédure pas - à - pas : créer un glyphe de marge
Procédure pas - à - pas : personnaliser l'affichage de texte
Procédure pas - à - pas : Mettre le texte en surbrillance
Procédure pas - à - pas : Afficher les info-bulles info Express
Procédure pas - à - pas : Afficher l'assistance de signature
Procédure pas - à - pas : afficher la saisie semi-automatique des instructions
Procédure pas - à - pas : afficher SmartTags
importer le fournisseur de services
Vous pouvez également importer SVsServiceProvider (trouvé dans l'assembly Microsoft.VisualStudio.Shell.Immutable.10.0) de la même manière pour obtenir l'accès aux services de Visual Studio :
[Import]
internal SVsServiceProvider ServiceProvider = null;
Consultez Procédure pas - à - pas : Accès de l'objet DTE d'une extension de l'éditeur pour plus d'informations.
Services
Les services d'éditeur sont des entités en général unique qui fournissent un service et sont partagés entre plusieurs composants.
Importer |
le fournit |
---|---|
la relation entre les extensions de fichier et les objets d' IContentType . |
|
Collection d'objets IContentType. |
|
Objets IVsFontsAndColorsInformation |
|
De nombreux objets d'adaptateur d'éditeur : |
|
Un objet d' IIncrementalSearch pour un affichage de texte spécifié. |
|
Élément ITextBuffer. |
|
IDifferenceCollection les différences. |
|
IHierarchicalDifferenceCollection les différences. |
|
IBufferGraph pour un ensemble d'objets d' ITextBuffer . |
|
IClassifier pour ITextBuffer. |
|
IClassifier pour ITextView. |
|
IEditorFormatMap pour ITextView. |
|
Gère la collection d'objets d' IClassificationType . |
|
ITagAggregator d'une mémoire tampon de texte. |
|
ITagAggregator pour un affichage de texte. |
|
IEditorOptions pour la portée spécifiée. |
|
IScrollMap pour un affichage de texte. |
|
ISmartIndent pour ITextView. |
|
Obtient la mise en retrait automatique parmi les objets d' ISmartIndentProvider . |
|
gère IWpfTextViewHost pour IWpfTextView. |
|
Élément IFormattedLineSource. |
|
Texte au format RTF à partir d'un jeu d'étendues d'instantanés. |
|
TextParagraphProperties pour mettre en forme des lignes de texte dans une vue. |
|
un objet d' IEditorOperations pour ITextView. |
|
recherche un instantané de texte. |
|
ITextStructureNavigator pour ITextBuffer par IContentType. |
|
IOutliningManager pour un affichage de texte. |
|
Un jeu de glyphes standard. |
|
Suit la gestion du clavier. |
|
Objets standard d' IClassificationType . |
|
Gère la relation entre les mémoires tampons de texte et les objets d' ITextUndoHistory . |
autre importations
Les fabriques et les courtiers de fournisseur sont en général des entités qui peuvent avoir plusieurs instances dans plusieurs composants.
Importer |
le fournit |
---|---|
SimpleTagger de type ErrorTag) pour la mémoire tampon spécifiée. |
|
Une balise de marqueur de texte ( SimpleTagger de type TextMarkerTag). |
|
IToolTipProvider pour ITextViewdonné. |
|
Élément ICompletionSession. |
|
Élément IQuickInfoSession. |
|
Élément ISignatureHelpSession. |