Compartir a través de


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.

Import Proporciona:
IFileExtensionRegistryService Relación entre extensiones de archivo y IContentType objetos.
IContentTypeRegistryService La colección de objetos IContentType.
IVsFontsAndColorsInformationService IVsFontsAndColorsInformation Objetos.
IVsEditorAdaptersFactoryService Muchos objetos de adaptador de editor:

IVsCodeWindow

IVsTextBuffer

IVsTextBufferCoordinator

IVsTextView
IIncrementalSearchFactoryService Objeto IIncrementalSearch para una vista de texto determinada.
ITextBufferFactoryService Un valor de tipo ITextBuffer.
ITextDocumentFactoryService Un valor de tipo ITextDocument.
IDifferenceService Una IDifferenceCollection<T> de las diferencias.
IHierarchicalStringDifferenceService Una IHierarchicalDifferenceCollection de las diferencias.
IProjectionBufferFactoryService un IProjectionBuffer objeto o .IElisionBuffer
IBufferGraphFactoryService para IBufferGraph un conjunto de ITextBuffer objetos.
IClassifierAggregatorService para IClassifier un ITextBufferobjeto .
IViewClassifierAggregatorService para IClassifier un ITextViewobjeto .
IClassificationFormatMapService para IClassificationFormatMap un ITextViewobjeto .
IEditorFormatMapService para IEditorFormatMap un ITextViewobjeto .
IClassificationTypeRegistryService Mantiene la colección de IClassificationType objetos .
IBufferTagAggregatorFactoryService para ITagAggregator<T> un búfer de texto.
IViewTagAggregatorFactoryService para ITagAggregator<T> una vista de texto.
IEditorOptionsFactoryService IEditorOptions para el ámbito especificado.
IScrollMapFactoryService para IScrollMap una vista de texto.
ISmartIndentationService para ISmartIndent un ITextViewobjeto .
ISmartIndentationService Obtiene la sangría automática a través de los ISmartIndentProvider objetos .
ITextEditorFactoryService Administra para IWpfTextViewHost un IWpfTextViewobjeto .
IFormattedTextSourceFactoryService Un valor de tipo IFormattedLineSource.
IRtfBuilderService Genera texto con formato RTF a partir de un conjunto de intervalos de instantáneas.
ITextAndAdornmentSequencerFactoryService para ITextAndAdornmentSequencer un ITextViewobjeto .
ITextParagraphPropertiesFactoryService para TextParagraphProperties dar formato a las líneas de texto en una vista.
IEditorOperationsFactoryService Objeto IEditorOperations para un ITextViewobjeto .
ITextSearchService Busca en una instantánea de texto.
ITextStructureNavigatorSelectorService para ITextStructureNavigator un ITextBuffer objeto por IContentType.
IOutliningManagerService para IOutliningManager una vista de texto.
IGlyphService Un conjunto estándar de glifos.
IIntellisenseSessionStackMapService para IIntellisenseSessionStack un ITextViewobjeto .
IWpfKeyboardTrackingService Realiza un seguimiento del control del teclado.
IStandardClassificationService Objetos estándar IClassificationType .
ITextUndoHistoryRegistry Mantiene la relación entre los búferes de texto y ITextUndoHistory los objetos.

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.

Consulte también