Поделиться через


Импорт редактора

Вы можете импортировать ряд служб редактора, фабрик и брокеров, которые предоставляют расширение с различными видами доступа к основному редактору. Например, можно импортировать ITextStructureNavigatorSelectorServiceITextStructureNavigator предоставленный тип контента. (Этот навигатор позволяет выполнять различные виды поиска в текстовом буфере.)

Чтобы использовать импорт редактора, импортируйте его в качестве поля или свойства класса, который экспортирует часть компонента Managed Extensibility Framework.

Примечание.

Дополнительные сведения об управляемой платформе расширяемости см. в разделе "Управляемая платформа расширяемости" (MEF).

Синтаксис импорта

В следующем примере показано, как импортировать службу фабрики параметров редактора.

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

Если вы хотите импортировать службу в качестве поля, а не свойства, необходимо задать его null в объявлении, чтобы избежать предупреждений компилятора о том, что переменная не назначается:

[Import]
internal IEditorOptionsFactoryService m_editorOptions = null;

Дополнительные примеры использования импорта см. в следующих пошаговом руководстве.

Импорт поставщика услуг

Вы также можете импортировать ( SVsServiceProvider найденную в сборке Microsoft.VisualStudio.Shell.Immutable.10.0) таким же образом, чтобы получить доступ к службам Visual Studio:

[Import]
internal SVsServiceProvider ServiceProvider = null;

Дополнительные сведения см . в пошаговом руководстве. Доступ к объекту DTE из расширения редактора.

Службы

Службы редакторов обычно являются отдельными сущностями, которые предоставляют службу и совместно используются для нескольких компонентов.

Import Предоставляет
IFileExtensionRegistryService Связь между расширениями файлов и IContentType объектами.
IContentTypeRegistryService Коллекция объектов IContentType.
IVsFontsAndColorsInformationService IVsFontsAndColorsInformation Объектов.
IVsEditorAdaptersFactoryService Многие объекты адаптера редактора:

IVsCodeWindow

IVsTextBuffer

IVsTextBufferCoordinator

IVsTextView
IIncrementalSearchFactoryService Объект IIncrementalSearch для заданного текстового представления.
ITextBufferFactoryService Объект ITextBuffer.
ITextDocumentFactoryService Объект ITextDocument.
IDifferenceService Различия IDifferenceCollection<T> .
IHierarchicalStringDifferenceService Различия IHierarchicalDifferenceCollection .
IProjectionBufferFactoryService Или IProjectionBuffer .IElisionBuffer
IBufferGraphFactoryService Объект IBufferGraph для набора ITextBuffer объектов.
IClassifierAggregatorService A IClassifier для ITextBuffer.
IViewClassifierAggregatorService A IClassifier для ITextView.
IClassificationFormatMapService A IClassificationFormatMap для ITextView.
IEditorFormatMapService A IEditorFormatMap для ITextView.
IClassificationTypeRegistryService Поддерживает коллекцию IClassificationType объектов.
IBufferTagAggregatorFactoryService Объект ITagAggregator<T> для текстового буфера.
IViewTagAggregatorFactoryService Представление ITagAggregator<T> текста.
IEditorOptionsFactoryService Для IEditorOptions указанного область.
IScrollMapFactoryService Представление IScrollMap текста.
ISmartIndentationService A ISmartIndent для ITextView.
ISmartIndentationService Возвращает автоматическую отступу через ISmartIndentProvider объекты.
ITextEditorFactoryService Управляет элементом IWpfTextViewHostIWpfTextViewуправления для .
IFormattedTextSourceFactoryService Объект IFormattedLineSource.
IRtfBuilderService Создает форматированный текст RTF из набора диапазонов моментальных снимков.
ITextAndAdornmentSequencerFactoryService A ITextAndAdornmentSequencer для ITextView.
ITextParagraphPropertiesFactoryService A TextParagraphProperties для форматирования текстовых строк в представлении.
IEditorOperationsFactoryService IEditorOperations Объект для ITextViewобъекта .
ITextSearchService Выполняет поиск моментального снимка текста.
ITextStructureNavigatorSelectorService An ITextStructureNavigator for an ITextBuffer by IContentType.
IOutliningManagerService Представление IOutliningManager текста.
IGlyphService Стандартный набор глифов.
IIntellisenseSessionStackMapService A IIntellisenseSessionStack для ITextView.
IWpfKeyboardTrackingService Отслеживает обработку клавиатуры.
IStandardClassificationService Стандартные IClassificationType объекты.
ITextUndoHistoryRegistry Поддерживает связь между текстовыми буферами и ITextUndoHistory объектами.

Другие импорты

Фабрики поставщиков и брокеры обычно являются сущностями, которые могут иметь несколько экземпляров в нескольких компонентах.

Import Предоставляет
IErrorProviderFactory ErrorTagТип SimpleTagger<T> ) для заданного буфера.
ITextMarkerProviderFactory Тег маркера текста ( SimpleTagger<T> тип TextMarkerTag).
IToolTipProviderFactory Для IToolTipProvider заданного ITextView.
ICompletionBroker Объект ICompletionSession.
IQuickInfoBroker Объект IQuickInfoSession.
ISignatureHelpBroker Объект ISignatureHelpSession.

См. также