Importowanie edytora

Możesz zaimportować wiele usług edytora, fabryk i brokerów, które zapewniają rozszerzenie z różnymi rodzajami dostępu do podstawowego edytora. Możesz na przykład zaimportować element ITextStructureNavigatorSelectorService , aby podać ITextStructureNavigator dla danego typu zawartości. (Ten nawigator umożliwia wykonywanie różnych rodzajów wyszukiwań w buforze tekstowym).

Aby użyć importu edytora, należy zaimportować go jako pole lub właściwość klasy, która eksportuje część składnika Managed Extensibility Framework.

Uwaga

Aby uzyskać więcej informacji na temat zarządzanej struktury rozszerzalności, zobacz Managed Extensibility Framework (MEF).

Importowanie składni

W poniższym przykładzie pokazano, jak zaimportować usługę fabryki opcji edytora.

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

Jeśli chcesz zaimportować usługę jako pole, a nie właściwość, należy ustawić ją na null w deklaracji, aby uniknąć ostrzeżeń kompilatora o braku przypisywania do zmiennej:

[Import]
internal IEditorOptionsFactoryService m_editorOptions = null;

Aby uzyskać więcej przykładów użycia importów, zobacz następujące przewodniki:

Importowanie dostawcy usług

Możesz również zaimportować element SVsServiceProvider (znajdujący się w zestawie Microsoft.VisualStudio.Shell.Immutable.10.0) w taki sam sposób, aby uzyskać dostęp do usług programu Visual Studio:

[Import]
internal SVsServiceProvider ServiceProvider = null;

Aby uzyskać więcej informacji, zobacz Przewodnik: uzyskiwanie dostępu do obiektu DTE z rozszerzenia edytora.

Usługi

Usługi edytora to zazwyczaj pojedyncze jednostki, które zapewniają usługę i są współużytkowane przez wiele składników.

Import Zapewnia
IFileExtensionRegistryService Relacja między rozszerzeniami plików i IContentType obiektami.
IContentTypeRegistryService Kolekcja obiektów IContentType.
IVsFontsAndColorsInformationService IVsFontsAndColorsInformation Obiektów.
IVsEditorAdaptersFactoryService Wiele obiektów adaptera edytora:

IVsCodeWindow

IVsTextBuffer

IVsTextBufferCoordinator

IVsTextView
IIncrementalSearchFactoryService IIncrementalSearch Obiekt dla danego widoku tekstowego.
ITextBufferFactoryService An ITextBuffer.
ITextDocumentFactoryService An ITextDocument.
IDifferenceService Różnice IDifferenceCollection<T> .
IHierarchicalStringDifferenceService Różnice IHierarchicalDifferenceCollection .
IProjectionBufferFactoryService An IProjectionBuffer lub .IElisionBuffer
IBufferGraphFactoryService Element IBufferGraph dla zestawu ITextBuffer obiektów.
IClassifierAggregatorService An IClassifier dla elementu ITextBuffer.
IViewClassifierAggregatorService An IClassifier dla elementu ITextView.
IClassificationFormatMapService An IClassificationFormatMap dla elementu ITextView.
IEditorFormatMapService An IEditorFormatMap dla elementu ITextView.
IClassificationTypeRegistryService Utrzymuje kolekcję IClassificationType obiektów.
IBufferTagAggregatorFactoryService Element ITagAggregator<T> dla buforu tekstowego.
IViewTagAggregatorFactoryService Element ITagAggregator<T> dla widoku tekstowego.
IEditorOptionsFactoryService Wartość IEditorOptions dla określonego zakresu.
IScrollMapFactoryService Element IScrollMap dla widoku tekstowego.
ISmartIndentationService An ISmartIndent dla elementu ITextView.
ISmartIndentationService Pobiera automatyczne wcięcie za pośrednictwem ISmartIndentProvider obiektów.
ITextEditorFactoryService Zarządza elementem IWpfTextViewHost dla elementu IWpfTextView.
IFormattedTextSourceFactoryService An IFormattedLineSource.
IRtfBuilderService Generuje tekst sformatowany w formacie RTF na podstawie zestawu zakresów migawek.
ITextAndAdornmentSequencerFactoryService An ITextAndAdornmentSequencer dla elementu ITextView.
ITextParagraphPropertiesFactoryService Element TextParagraphProperties do formatowania wierszy tekstu w widoku.
IEditorOperationsFactoryService IEditorOperations Obiekt dla obiektu ITextView.
ITextSearchService Wyszukuje migawkę tekstu.
ITextStructureNavigatorSelectorService An ITextStructureNavigator for an ITextBufferIContentTypeby .
IOutliningManagerService Element IOutliningManager dla widoku tekstowego.
IGlyphService Standardowy zestaw glifów.
IIntellisenseSessionStackMapService An IIntellisenseSessionStack dla elementu ITextView.
IWpfKeyboardTrackingService Śledzi obsługę klawiatury.
IStandardClassificationService Obiekty standardowe IClassificationType .
ITextUndoHistoryRegistry Utrzymuje relację między buforami tekstowymi i ITextUndoHistory obiektami.

Inne importy

Fabryki dostawców i brokerzy to zazwyczaj jednostki, które mogą mieć wiele wystąpień w wielu składnikach.

Import Zapewnia
IErrorProviderFactory ErrorTagTyp SimpleTagger<T> ) dla danego buforu.
ITextMarkerProviderFactory Sztylet znacznika tekstu (typ SimpleTagger<T>TextMarkerTag).
IToolTipProviderFactory Element IToolTipProvider dla danego ITextViewelementu .
ICompletionBroker An ICompletionSession.
IQuickInfoBroker An IQuickInfoSession.
ISignatureHelpBroker An ISignatureHelpSession.

Zobacz też