Importy editoru
Můžete importovat řadu služeb editoru, továren a zprostředkovatelů, které poskytují rozšíření s různými druhy přístupu k základnímu editoru. Můžete například importovat ITextStructureNavigatorSelectorService typ obsahu, který vám ITextStructureNavigator poskytne určitý typ obsahu. (Tento navigátor umožňuje provádět různé druhy hledání v textové vyrovnávací paměti.)
Pokud chcete použít import editoru, importujete ho jako pole nebo vlastnost třídy, která exportuje součást komponenty Managed Extensibility Framework.
Poznámka:
Další informace o rozhraní MANAGED Extensibility Framework naleznete v tématu Rozhraní MEF (Managed Extensibility Framework).
Syntaxe importu
Následující příklad ukazuje, jak importovat službu pro vytváření možností editoru.
[Import]
internal IEditorOptionsFactoryService EditorOptions { get; set; }
Pokud chcete službu importovat jako pole a ne vlastnost, měli byste ji null
nastavit v deklaraci, abyste se vyhnuli upozorněním kompilátoru na nepřiřazování proměnné:
[Import]
internal IEditorOptionsFactoryService m_editorOptions = null;
Další příklady použití importů najdete v následujících návodech:
Import poskytovatele služeb
Můžete také importovat (nachází se SVsServiceProvider v sestavení Microsoft.VisualStudio.Shell.Immutable.10.0) stejným způsobem, jak získat přístup ke službám sady Visual Studio:
[Import]
internal SVsServiceProvider ServiceProvider = null;
Další informace najdete v části Návod: Přístup k objektu DTE z rozšíření editoru.
Služby
Služby editoru jsou obecně jediné entity, které poskytují službu a sdílí se napříč několika komponentami.
Další importy
Objekty pro vytváření poskytovatelů a zprostředkovatelé jsou obecně entity, které mohou mít více instancí ve více součástech.
Importovat | Poskytuje |
---|---|
IErrorProviderFactory | ErrorTagTyp SimpleTagger<T> ) pro danou vyrovnávací paměť. |
ITextMarkerProviderFactory | A text marker tagger (a SimpleTagger<T> of type TextMarkerTag). |
IToolTipProviderFactory | Pro IToolTipProvider danou ITextViewpoložku . |
ICompletionBroker | A ICompletionSession. |
IQuickInfoBroker | A IQuickInfoSession. |
ISignatureHelpBroker | A ISignatureHelpSession. |