Импорт редактора
Можно импортировать несколько служб, фабрики, а маклеров редактора, которые предоставляют расширение с различными типами доступа к редактору. Например, можно импортировать ITextStructureNavigatorSelectorService предоставить возможность with a ITextStructureNavigator для заданного типа контента. (Этот навигатор позволяет выполняет различные типы операций поиска в текстовом буфере.)
Для использования импорта редактора, импортировать его в качестве поля или свойства класса, который экспортирует часть управляемой расширяемости платформы .NET Framework, компонентов.
Примечание
Дополнительные сведения об управляемой расширяемости .NET Framework см. в разделе Managed Extensibility Framework (MEF).
Синтаксис импорта
В следующем примере показано, как импортировать служба фабрики параметров редактора.
[Import]
internal IEditorOptionsFactoryService EditorOptions { get; set; }
Если нужно импортировать службы в виде поля и свойства, необходимо установить его на null в объявлении во избежание предупреждения компилятора о не присвоен переменной:
[Import]
internal IEditorOptionsFactoryService m_editorOptions = null;
Дополнительные примеры использования записей см. в следующих пошаговых руководствах:
Пошаговое руководство: Создание глиф полей
Пошаговое руководство: Настройка внешнего вида текста
Пошаговое руководство: Выделение текста
Пошаговое руководство: QuickInfo отображение всплывающих подсказок
Пошаговое руководство: Отображение справки подпись
Пошаговое руководство: Завершение операторов отображение
Пошаговое руководство: отображение смарт-тегов
Импортировать поставщик услуг
Можно также импортировать a SVsServiceProvider (они находятся в сборке Microsoft.VisualStudio.Shell.Immutable.10.0) так же, как получить доступ к службам Visual Studio:
[Import]
internal SVsServiceProvider ServiceProvider = null;
Дополнительные сведения см. в разделе Пошаговое руководство: Доступ к DTE - объект расширения из редактора.
Службы
Службы редактор обычно одиночные сущности, которые предоставляют службу и совместно используются через несколько компонентов.
Импорт |
Предоставляет |
---|---|
Связи между расширениями файлов и IContentType объекты. |
|
Коллекция объектов IContentType. |
|
Объекты IVsFontsAndColorsInformation |
|
Множество объектов адаптеров редактора. |
|
IIncrementalSearch объект для данного представления текста. |
|
Объект ITextBuffer. |
|
Объект ITextDocument. |
|
IDifferenceCollection различий. |
|
IHierarchicalDifferenceCollection различий. |
|
IBufferGraph для набора ITextBuffer объекты. |
|
IClassifier для a ITextBuffer. |
|
IClassifier для a ITextView. |
|
IEditorFormatMap для a ITextView. |
|
Поддерживает коллекцию IClassificationType объекты. |
|
ITagAggregator для текстового буфера. |
|
ITagAggregator для представления текста. |
|
IEditorOptions для указанной области. |
|
IScrollMap для представления текста. |
|
ISmartIndent для a ITextView. |
|
Получает автоматический отступ посредством ISmartIndentProvider объекты. |
|
Управляет IWpfTextViewHost для a IWpfTextView. |
|
Объект IFormattedLineSource. |
|
Создает RTF-форматировал текст из набора диапазонов снимков. |
|
A TextParagraphProperties для форматирования линий текста в представлении. |
|
A IEditorOperations объект ITextView. |
|
Ищет снимок текста. |
|
IOutliningManager для представления текста. |
|
Стандартный набор глифов. |
|
Отслеживает обработка клавиатуры. |
|
Стандартный IClassificationType объекты. |
|
Поддерживает связь между текстовыми и буферами ITextUndoHistory объекты. |
Другое ввозы
Фабрики поставщика и маклеры обычно сущности, которые могут иметь несколько экземпляров в нескольких компонентах.
Импорт |
Предоставляет |
---|---|
A SimpleTagger type ErrorTag) для заданного буфера. |
|
Средство создания тегов для текстового маркера (a SimpleTagger type TextMarkerTag). |
|
IToolTipProvider для заданным ITextView. |
|
Объект ICompletionSession. |
|
Объект IQuickInfoSession. |
|
Объект ISignatureHelpSession. |