Importowanie edytora
Możesz zaimportować wiele usług edytora, fabryk i brokerów, które zapewniają rozszerzenie z różnymi rodzajami dostępu do podstawowego edytora. Możesz na przykład zaimportować element ITextStructureNavigatorSelectorService , aby podać ITextStructureNavigator dla danego typu zawartości. (Ten nawigator umożliwia wykonywanie różnych rodzajów wyszukiwań w buforze tekstowym).
Aby użyć importu edytora, należy zaimportować go jako pole lub właściwość klasy, która eksportuje część składnika Managed Extensibility Framework.
Uwaga
Aby uzyskać więcej informacji na temat zarządzanej struktury rozszerzalności, zobacz Managed Extensibility Framework (MEF).
Importowanie składni
W poniższym przykładzie pokazano, jak zaimportować usługę fabryki opcji edytora.
[Import]
internal IEditorOptionsFactoryService EditorOptions { get; set; }
Jeśli chcesz zaimportować usługę jako pole, a nie właściwość, należy ustawić ją na null
w deklaracji, aby uniknąć ostrzeżeń kompilatora o braku przypisywania do zmiennej:
[Import]
internal IEditorOptionsFactoryService m_editorOptions = null;
Aby uzyskać więcej przykładów użycia importów, zobacz następujące przewodniki:
Importowanie dostawcy usług
Możesz również zaimportować element SVsServiceProvider (znajdujący się w zestawie Microsoft.VisualStudio.Shell.Immutable.10.0) w taki sam sposób, aby uzyskać dostęp do usług programu Visual Studio:
[Import]
internal SVsServiceProvider ServiceProvider = null;
Aby uzyskać więcej informacji, zobacz Przewodnik: uzyskiwanie dostępu do obiektu DTE z rozszerzenia edytora.
Usługi
Usługi edytora to zazwyczaj pojedyncze jednostki, które zapewniają usługę i są współużytkowane przez wiele składników.
Inne importy
Fabryki dostawców i brokerzy to zazwyczaj jednostki, które mogą mieć wiele wystąpień w wielu składnikach.
Import | Zapewnia |
---|---|
IErrorProviderFactory | ErrorTagTyp SimpleTagger<T> ) dla danego buforu. |
ITextMarkerProviderFactory | Sztylet znacznika tekstu (typ SimpleTagger<T> TextMarkerTag). |
IToolTipProviderFactory | Element IToolTipProvider dla danego ITextViewelementu . |
ICompletionBroker | An ICompletionSession. |
IQuickInfoBroker | An IQuickInfoSession. |
ISignatureHelpBroker | An ISignatureHelpSession. |