Düzenleyici içeri aktarıyor

Uzantınıza çekirdek düzenleyiciye farklı türlerde erişim sağlayan bir dizi düzenleyici hizmetini, fabrikayı ve aracıyı içeri aktarabilirsiniz. Örneğin, belirli bir içerik türü için bir ITextStructureNavigator sağlamak üzere öğesini içeri aktarabilirsinizITextStructureNavigatorSelectorService. (Bu gezgin, metin arabelleğinde farklı türlerde aramalar yapmanıza olanak tanır.)

Düzenleyici içeri aktarmayı kullanmak için, bunu Yönetilen Genişletilebilirlik Çerçevesi bileşen bölümünü dışarı aktaran bir sınıfın alanı veya özelliği olarak içeri aktarırsınız.

Dekont

Yönetilen Genişletilebilirlik Çerçevesi hakkında daha fazla bilgi için bkz . Yönetilen Genişletilebilirlik Çerçevesi (MEF).

Söz dizimlerini içeri aktarma

Aşağıdaki örnekte düzenleyici seçenekleri fabrika hizmetinin nasıl içeri aktarılacağını gösterilmektedir.

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

Hizmeti bir özellik olarak değil alan olarak içeri aktarmak istiyorsanız, bir değişkene null atamama konusunda derleyici uyarılarından kaçınmak için bildiriminde olarak ayarlamanız gerekir:

[Import]
internal IEditorOptionsFactoryService m_editorOptions = null;

İçeri aktarmaları kullanma hakkında daha fazla örnek için aşağıdaki kılavuzlara bakın:

Hizmet sağlayıcısını içeri aktarma

Visual Studio hizmetlerine erişmek için aynı şekilde bir SVsServiceProvider öğesini de içeri aktarabilirsiniz (Microsoft.VisualStudio.Shell.Immutable.10.0 derlemesinde bulunur):

[Import]
internal SVsServiceProvider ServiceProvider = null;

Daha fazla bilgi için bkz . İzlenecek yol: Düzenleyici uzantısından DTE nesnesine erişme.

Hizmetler

Düzenleyici hizmetleri genellikle bir hizmet sağlayan ve birden çok bileşen arasında paylaşılan tek varlıklardır.

Import Sağ -lar
IFileExtensionRegistryService Dosya uzantıları ve IContentType nesneler arasındaki ilişki.
IContentTypeRegistryService IContentType nesneleri topluluğu.
IVsFontsAndColorsInformationService IVsFontsAndColorsInformation Nesne.
IVsEditorAdaptersFactoryService Birçok düzenleyici bağdaştırıcısı nesnesi:

IVsCodeWindow

IVsTextBuffer

IVsTextBufferCoordinator

IVsTextView
IIncrementalSearchFactoryService IIncrementalSearch Belirli bir metin görünümü için bir nesne.
ITextBufferFactoryService Bir ITextBuffer.
ITextDocumentFactoryService Bir ITextDocument.
IDifferenceService Farklılıklardan IDifferenceCollection<T> biri.
IHierarchicalStringDifferenceService Farklılıklardan IHierarchicalDifferenceCollection biri.
IProjectionBufferFactoryService Bir IProjectionBuffer veya bir IElisionBuffer.
IBufferGraphFactoryService Bir IBufferGraph nesne kümesi ITextBuffer için.
IClassifierAggregatorService için bir IClassifier ITextBuffer.
IViewClassifierAggregatorService için bir IClassifier ITextView.
IClassificationFormatMapService için bir IClassificationFormatMap ITextView.
IEditorFormatMapService için bir IEditorFormatMap ITextView.
IClassificationTypeRegistryService Nesne koleksiyonunu IClassificationType korur.
IBufferTagAggregatorFactoryService ITagAggregator<T> Metin arabelleği için bir.
IViewTagAggregatorFactoryService ITagAggregator<T> Metin görünümü için.
IEditorOptionsFactoryService IEditorOptions Belirtilen kapsam için.
IScrollMapFactoryService IScrollMap Metin görünümü için.
ISmartIndentationService için bir ISmartIndent ITextView.
ISmartIndentationService Nesneler üzerinden otomatik girintiyi ISmartIndentProvider alır.
ITextEditorFactoryService için IWpfTextViewöğesini IWpfTextViewHost yönetir.
IFormattedTextSourceFactoryService Bir IFormattedLineSource.
IRtfBuilderService Bir anlık görüntü yayılma dizisinden RTF biçimli metin oluşturur.
ITextAndAdornmentSequencerFactoryService için bir ITextAndAdornmentSequencer ITextView.
ITextParagraphPropertiesFactoryService Görünümdeki TextParagraphProperties metin çizgilerini biçimlendirmek için A.
IEditorOperationsFactoryService için IEditorOperations bir ITextViewnesnesi.
ITextSearchService Metin anlık görüntüsünde aramalar.
ITextStructureNavigatorSelectorService tarafından an ITextStructureNavigator ITextBuffer IContentTypeiçin.
IOutliningManagerService IOutliningManager Metin görünümü için.
IGlyphService Standart bir karakter kümesi.
IIntellisenseSessionStackMapService için bir IIntellisenseSessionStack ITextView.
IWpfKeyboardTrackingService Klavye işlemeyi izler.
IStandardClassificationService Standart IClassificationType nesneler.
ITextUndoHistoryRegistry Metin arabellekleri ve ITextUndoHistory nesneler arasındaki ilişkiyi korur.

Diğer içeri aktarmalar

Sağlayıcı fabrikaları ve aracıları genellikle birden çok bileşende birden çok örneği olabilecek varlıklardır.

Import Sağ -lar
IErrorProviderFactory SimpleTagger<T> Verilen arabellek için türünde ErrorTag) .
ITextMarkerProviderFactory Metin işaretçisi etiketleyicisi (türünde TextMarkerTagbir SimpleTagger<T> ).
IToolTipProviderFactory IToolTipProvider Belirli ITextViewbir için bir .
ICompletionBroker Bir ICompletionSession.
IQuickInfoBroker Bir IQuickInfoSession.
ISignatureHelpBroker Bir ISignatureHelpSession.

Ayrıca bkz.