Compartilhar via


Importações do editor

Você pode importar vários serviços de editor, fábricas e corretores que fornecem à sua extensão diferentes tipos de acesso ao editor principal. Por exemplo, você pode importar o ITextStructureNavigatorSelectorService para fornecer um para um determinado tipo de ITextStructureNavigator conteúdo. (Este navegador permite que você execute diferentes tipos de pesquisas em um buffer de texto.)

Para usar uma importação de editor, importe-a como um campo ou propriedade de uma classe que exporta uma parte do componente Managed Extensibility Framework.

Observação

Para obter mais informações sobre o Managed Extensibility Framework, consulte Managed Extensibility Framework (MEF).

Sintaxe de importação

O exemplo a seguir mostra como importar o serviço de fábrica de opções do editor.

[Import]
internal IEditorOptionsFactoryService EditorOptions { get; set; }

Se você deseja importar o serviço como um campo e não uma propriedade, você deve defini-lo como null na declaração para evitar os avisos do compilador sobre não atribuir a uma variável:

[Import]
internal IEditorOptionsFactoryService m_editorOptions = null;

Para obter mais exemplos de uso de importações, consulte as seguintes instruções passo a passo:

Importar o provedor de serviços

Você também pode importar um SVsServiceProvider (encontrado no assembly Microsoft.VisualStudio.Shell.Immutable.10.0) da mesma maneira para obter acesso aos serviços do Visual Studio:

[Import]
internal SVsServiceProvider ServiceProvider = null;

Consulte Demonstra Passo a passo: Acessar o objeto DTE de uma extensão de editor para obter mais informações.

Serviços

Os serviços de editor geralmente são entidades únicas que fornecem um serviço e são compartilhados entre vários componentes.

Import Fornece
IFileExtensionRegistryService A relação entre extensões de arquivo e IContentType objetos.
IContentTypeRegistryService A coleção dos objetos IContentType.
IVsFontsAndColorsInformationService IVsFontsAndColorsInformation Objetos.
IVsEditorAdaptersFactoryService Muitos objetos de adaptador do editor:

IVsCodeWindow

IVsTextBuffer

IVsTextBufferCoordinator

IVsTextView
IIncrementalSearchFactoryService Um IIncrementalSearch objeto para um determinado modo de exibição de texto.
ITextBufferFactoryService Um ITextBuffer.
ITextDocumentFactoryService Um ITextDocument.
IDifferenceService Um IDifferenceCollection<T> de diferenças.
IHierarchicalStringDifferenceService Um IHierarchicalDifferenceCollection de diferenças.
IProjectionBufferFactoryService Um IProjectionBuffer ou um IElisionBufferarquivo .
IBufferGraphFactoryService Um IBufferGraph para um conjunto de ITextBuffer objetos.
IClassifierAggregatorService Um IClassifier foro ITextBuffer.
IViewClassifierAggregatorService Um IClassifier foro ITextView.
IClassificationFormatMapService Um IClassificationFormatMap foro ITextView.
IEditorFormatMapService Um IEditorFormatMap foro ITextView.
IClassificationTypeRegistryService Mantém a coleção de IClassificationType objetos.
IBufferTagAggregatorFactoryService Um ITagAggregator<T> para um buffer de texto.
IViewTagAggregatorFactoryService Um ITagAggregator<T> para um modo de exibição de texto.
IEditorOptionsFactoryService O IEditorOptions para o escopo especificado.
IScrollMapFactoryService Um IScrollMap para um modo de exibição de texto.
ISmartIndentationService Um ISmartIndent foro ITextView.
ISmartIndentationService Obtém o recuo automático através dos ISmartIndentProvider objetos.
ITextEditorFactoryService Gerencia os foros IWpfTextViewHostIWpfTextView.
IFormattedTextSourceFactoryService Um IFormattedLineSource.
IRtfBuilderService Gera texto formatado em RTF a partir de um conjunto de extensões de instantâneo.
ITextAndAdornmentSequencerFactoryService Um ITextAndAdornmentSequencer para um ITextView.
ITextParagraphPropertiesFactoryService A TextParagraphProperties para formatar linhas de texto em um modo de exibição.
IEditorOperationsFactoryService Um IEditorOperations objeto para um ITextViewarquivo .
ITextSearchService Pesquisa um instantâneo de texto.
ITextStructureNavigatorSelectorService Um ITextStructureNavigator foro por IContentType.ITextBuffer
IOutliningManagerService Um IOutliningManager para um modo de exibição de texto.
IGlyphService Um conjunto padrão de glifos.
IIntellisenseSessionStackMapService Um IIntellisenseSessionStack foro ITextView.
IWpfKeyboardTrackingService Rastreia o manuseio do teclado.
IStandardClassificationService Objetos padrão IClassificationType .
ITextUndoHistoryRegistry Mantém a relação entre buffers de texto e ITextUndoHistory objetos.

Outras importações

As fábricas e corretoras de provedores geralmente são entidades que podem ter várias instâncias em vários componentes.

Import Fornece
IErrorProviderFactory A SimpleTagger<T> do tipo ErrorTag) para o buffer dado.
ITextMarkerProviderFactory Um tagger de marcador de texto (a SimpleTagger<T> do tipo TextMarkerTag).
IToolTipProviderFactory Um IToolTipProvider para um dado ITextView.
ICompletionBroker Um ICompletionSession.
IQuickInfoBroker Um IQuickInfoSession.
ISignatureHelpBroker Um ISignatureHelpSession.

Confira também