Editor-Importe
Sie können mehrere Editor Dienste, Factorys und Broker importieren, die die Erweiterung mit verschiedenen Arten des Zugriffs auf den Kern des Editors bereitzustellen. Sie können z. B. ITextStructureNavigatorSelectorService importieren, damit Sie mit ITextStructureNavigator für einen bestimmten Inhaltstyp bereitzustellen. (Dieser Navigator können Sie verschiedene Möglichkeiten zum Ausführen von Suchen in einem Textpuffer.)
Um einen Editorimport zu verwenden, importieren Sie ihn als Feld oder Eigenschaft einer Klasse die eine Managed Extensibility Framework-Komponente exportiert.
Hinweis
Weitere Informationen zum Managed Extensibility Framework finden Sie unter Managed Extensibility Framework (MEF).
Import-Syntax
Im folgenden Beispiel wird gezeigt, wie der Editor für options-Factory importiert.
[Import]
internal IEditorOptionsFactoryService EditorOptions { get; set; }
Wenn Sie den Dienst als Feld und nicht Eigenschaft importieren möchten, sollten Sie sie mit null in der Deklaration festlegen, um die Compilerwarnungen zum Zuweisen nicht zu einer Variablen zu vermeiden:
[Import]
internal IEditorOptionsFactoryService m_editorOptions = null;
Weitere Beispiele importen von Anwendungen finden Sie in den folgenden exemplarischen Vorgehensweisen:
Exemplarische Vorgehensweise: Ein Rand-Symbol erstellen
Exemplarische Vorgehensweise: Die Text-Ansicht anpassen
Exemplarische Vorgehensweise: Text markieren
Exemplarische Vorgehensweise: QuickInfo-QuickInfo anzeigen
Exemplarische Vorgehensweise: Unterzeichnungs-Hilfe anzeigen
Exemplarische Vorgehensweise: Anweisungsvervollständigung anzeigen
Exemplarische Vorgehensweise: SmartTags anzeigen
Der Dienstanbieter importieren
Sie können auch SVsServiceProvider Weise importiert werden (in der Assembly Microsoft.VisualStudio.Shell.Immutable.10.0), um den Zugriff auf Visual Studio-Dienstleistungen abzurufen:
[Import]
internal SVsServiceProvider ServiceProvider = null;
Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Das DTE-Objekt aus einer Editor-Erweiterung zugreifen.
Dienste
Editor Dienste sind normalerweise einzelne Entitäten, die einen Dienst bereitstellen und werden auf mehrere Komponenten gemeinsam verwendet.
Importieren |
Stellt bereit |
---|---|
Die Beziehung zwischen Dateierweiterungen und IContentType-Objekten. |
|
Eine Auflistung von IContentType-Objekten. |
|
IVsFontsAndColorsInformation-Objekte |
|
Viele Editor Netzwerkkarten Objekte: |
|
Ein IIncrementalSearch-Objekt für eine angegebene Textansicht. |
|
Ein ITextBuffer. |
|
Ein ITextDocument. |
|
IDifferenceCollection von Unterschieden. |
|
IHierarchicalDifferenceCollection von Unterschieden. |
|
IBufferGraph für einen Satz ITextBuffer-Objekten. |
|
IClassifier für ITextBuffer. |
|
IClassifier für ITextView. |
|
Verwaltet die Auflistung von IClassificationType-Objekte bei. |
|
ITagAggregator für einen Textpuffer. |
|
ITagAggregator für eine Textansicht. |
|
IEditorOptions für den angegebenen Bereich. |
|
IScrollMap für eine Textansicht. |
|
ISmartIndent für ITextView. |
|
Ruft die automatische Einzüge von der ISmartIndentProvider-Objekten ab. |
|
Verwaltet IWpfTextViewHost für IWpfTextView. |
|
Ein IFormattedLineSource. |
|
Generiert RTF-formatierte Text aus einer Reihe von Momentaufnahmespannen. |
|
TextParagraphProperties zum Formatieren von Textzeilen in einer Ansicht. |
|
Ein IEditorOperations-Objekt für ITextView. |
|
Sucht eine Textmomentaufnahme. |
|
IOutliningManager für eine Textansicht. |
|
Ein Standardsatz von Symbolen. |
|
Verfolgt nach Klassenbehandlung Tastatur. |
|
IClassificationType-Objekten. |
|
Behält die Beziehung zwischen Text und ITextUndoHistory Puffern Objekte bei. |
Andere Importe
Broker-Diensts und - factorys Anbieter sind im Allgemeinen Entitäten, die mehreren Instanzen in mehreren Komponenten haben können.
Importieren |
Stellt bereit |
---|---|
SimpleTagger des Typs ErrorTag) für den angegebenen Puffer. |
|
Ein Textmarkierungstagger ( SimpleTagger des Typs TextMarkerTag). |
|
IToolTipProvider für einen angegebenen ITextView. |
|
Ein ICompletionSession. |
|
Ein IQuickInfoSession. |
|