Importations de l’éditeur
Vous pouvez importer un certain nombre de services d’éditeur, de fabriques et de répartiteurs qui fournissent à votre extension différents types d’accès à l’éditeur principal. Par exemple, vous pouvez importer le ITextStructureNavigatorSelectorService fichier pour vous fournir un ITextStructureNavigator type de contenu donné. (Ce navigateur vous permet d’effectuer différents types de recherches sur une mémoire tampon de texte.)
Pour utiliser une importation d’éditeur, vous l’importez en tant que champ ou propriété d’une classe qui exporte un composant Managed Extensibility Framework.
Remarque
Pour plus d’informations sur l’infrastructure d’extensibilité managée, consultez Managed Extensibility Framework (MEF).
Syntaxe d’importation
L’exemple suivant montre comment importer le service d’usine options de l’éditeur.
[Import]
internal IEditorOptionsFactoryService EditorOptions { get; set; }
Si vous souhaitez importer le service en tant que champ et non une propriété, vous devez le définir null
dans la déclaration afin d’éviter les avertissements du compilateur concernant l’échec de l’affectation à une variable :
[Import]
internal IEditorOptionsFactoryService m_editorOptions = null;
Pour plus d’exemples d’utilisation des importations, consultez les procédures pas à pas suivantes :
Importer le fournisseur de services
Vous pouvez également importer un SVsServiceProvider (trouvé dans l’assembly Microsoft.VisualStudio.Shell.Immutable.10.0) de la même façon pour accéder aux services Visual Studio :
[Import]
internal SVsServiceProvider ServiceProvider = null;
Pour plus d’informations, consultez procédure pas à pas : accéder à l’objet DTE à partir d’une extension d’éditeur.
Services
Les services d’éditeur sont généralement des entités uniques qui fournissent un service et sont partagés entre plusieurs composants.
Autres importations
Les fabriques de fournisseurs et les répartiteurs sont généralement des entités qui peuvent avoir plusieurs instances dans plusieurs composants.
Importer | Fournit |
---|---|
IErrorProviderFactory | Type SimpleTagger<T> ) ErrorTagpour la mémoire tampon donnée. |
ITextMarkerProviderFactory | Balisage de marqueur de texte (type SimpleTagger<T> ).TextMarkerTag |
IToolTipProviderFactory | Un IToolTipProvider pour un donné ITextView. |
ICompletionBroker | ICompletionSession. |
IQuickInfoBroker | IQuickInfoSession. |
ISignatureHelpBroker | ISignatureHelpSession. |