Importaciones del editor
Puede importar una serie de servicios de editor, generadores y agentes que proporcionan la extensión con diferentes tipos de acceso al editor principal. Por ejemplo, puede importar para ITextStructureNavigatorSelectorService proporcionarle un ITextStructureNavigator para un tipo de contenido determinado. (Este navegador permite realizar diferentes tipos de búsquedas en un búfer de texto).
Para usar una importación del editor, se importa como un campo o propiedad de una clase que exporta un elemento de componente managed Extensibility Framework.
Nota:
Para obtener más información sobre Managed Extensibility Framework, consulte Managed Extensibility Framework (MEF).
Sintaxis de importación
En el ejemplo siguiente se muestra cómo importar el servicio generador de opciones del editor.
[Import]
internal IEditorOptionsFactoryService EditorOptions { get; set; }
Si desea importar el servicio como un campo y no una propiedad, debe establecerlo null
en la declaración para evitar las advertencias del compilador sobre no asignar a una variable:
[Import]
internal IEditorOptionsFactoryService m_editorOptions = null;
Para obtener más ejemplos de uso de importaciones, consulte los siguientes tutoriales:
Importación del proveedor de servicios
También puede importar un SVsServiceProvider elemento (que se encuentra en el ensamblado Microsoft.VisualStudio.Shell.Immutable.10.0) de la misma manera para obtener acceso a los servicios de Visual Studio:
[Import]
internal SVsServiceProvider ServiceProvider = null;
Consulte Tutorial: Acceso al objeto DTE desde una extensión del editor para obtener más información.
Servicios
Los servicios de editor suelen ser entidades únicas que proporcionan un servicio y se comparten entre varios componentes.
Otras importaciones
Los generadores de proveedores y agentes suelen ser entidades que pueden tener varias instancias en varios componentes.
Import | Proporciona: |
---|---|
IErrorProviderFactory | de SimpleTagger<T> tipo ErrorTag) para el búfer especificado. |
ITextMarkerProviderFactory | Un tagger de marcador de texto (un SimpleTagger<T> de tipo TextMarkerTag). |
IToolTipProviderFactory | para IToolTipProvider un determinado ITextView. |
ICompletionBroker | Un valor de tipo ICompletionSession. |
IQuickInfoBroker | Un valor de tipo IQuickInfoSession. |
ISignatureHelpBroker | Un valor de tipo ISignatureHelpSession. |