Editorimporte
Sie können eine Reihe von Editordiensten, Fabriken und Brokern importieren, die Ihrer Erweiterung unterschiedliche Arten von Zugriff auf den Kern-Editor bieten. Sie können z. B. die ITextStructureNavigatorSelectorService Datei importieren, die Ihnen einen ITextStructureNavigator bestimmten Inhaltstyp zur Verfügung stellt. (Mit diesem Navigator können Sie verschiedene Arten von Suchvorgängen in einem Textpuffer ausführen.)
Um einen Editorimport zu verwenden, importieren Sie ihn als Feld oder Eigenschaft einer Klasse, die einen Komponententeil des Managed Extensibility Framework exportiert.
Hinweis
Weitere Informationen zum Managed Extensibility Framework finden Sie unter Managed Extensibility Framework (MEF).
Importsyntax
Das folgende Beispiel zeigt, wie der Editoroptionen-Factorydienst importiert wird.
[Import]
internal IEditorOptionsFactoryService EditorOptions { get; set; }
Wenn Sie den Dienst als Feld und nicht als Eigenschaft importieren möchten, sollten Sie ihn null
in der Deklaration festlegen, um die Compilerwarnungen beim Zuweisen einer Variablen zu vermeiden:
[Import]
internal IEditorOptionsFactoryService m_editorOptions = null;
Weitere Beispiele für die Verwendung von Importen finden Sie in den folgenden exemplarischen Vorgehensweisen:
Exemplarische Vorgehensweise: QuickInfo-QuickInfo-QuickInfo anzeigen
Exemplarische Vorgehensweise: Hilfe zum Anzeigen von Signaturen
Exemplarische Vorgehensweise: Anzeigen von Anweisungsvervollständigung
Exemplarische Vorgehensweise: Vorschläge zur Anzeige von Glühbirne
Importieren des Dienstanbieters
Sie können auch eine SVsServiceProvider (in der Assembly "Microsoft.VisualStudio.Shell.Immutable.10.0") auf die gleiche Weise importieren, um Zugriff auf Visual Studio-Dienste zu erhalten:
[Import]
internal SVsServiceProvider ServiceProvider = null;
Weitere Informationen finden Sie unter Walkthrough: Access the DTE object from an editor extension for more information.
Dienste
Editordienste sind im Allgemeinen einzelne Entitäten, die einen Dienst bereitstellen und für mehrere Komponenten freigegeben werden.
Andere Importe
Anbieterfabriken und Broker sind im Allgemeinen Entitäten, die mehrere Instanzen in mehreren Komponenten aufweisen können.
Importieren | Umfasst: |
---|---|
IErrorProviderFactory | Ein SimpleTagger<T> Typ ErrorTag) für den angegebenen Puffer. |
ITextMarkerProviderFactory | Ein Textmarker-Tagger (ein SimpleTagger<T> Typ TextMarkerTag). |
IToolTipProviderFactory | Eine IToolTipProvider für eine bestimmte .ITextView |
ICompletionBroker | Ein ICompletionSession-Element. |
IQuickInfoBroker | Ein IQuickInfoSession-Element. |
ISignatureHelpBroker | Ein ISignatureHelpSession-Element. |