Поделиться через


IVsExpansionManager - интерфейс

Представляет диспетчер расширений, который знает, как найти и указать списки фрагментов кода для указанного языка программирования.

Пространство имен:  Microsoft.VisualStudio.TextManager.Interop
Сборка:  Microsoft.VisualStudio.TextManager.Interop.8.0 (в Microsoft.VisualStudio.TextManager.Interop.8.0.dll)

Синтаксис

'Декларация
<GuidAttribute("CA09E5EA-FEE7-4B52-AFE6-8EA2EC53F681")> _
<InterfaceTypeAttribute()> _
Public Interface IVsExpansionManager
[GuidAttribute("CA09E5EA-FEE7-4B52-AFE6-8EA2EC53F681")]
[InterfaceTypeAttribute()]
public interface IVsExpansionManager
[GuidAttribute(L"CA09E5EA-FEE7-4B52-AFE6-8EA2EC53F681")]
[InterfaceTypeAttribute()]
public interface class IVsExpansionManager
[<GuidAttribute("CA09E5EA-FEE7-4B52-AFE6-8EA2EC53F681")>]
[<InterfaceTypeAttribute()>]
type IVsExpansionManager =  interface end
public interface IVsExpansionManager

Тип IVsExpansionManager предоставляет следующие члены.

Методы

  Имя Описание
Открытый метод EnumerateExpansions Извлекает список фрагментов кода для указанного языка программирования.
Открытый метод GetExpansionByShortcut Извлекает имя и путь к фрагменту заданное имя его ярлыка.
Открытый метод GetSnippetShortCutKeybindingState Инфраструктура. Определяет, если ключ был привязан к "вызывает фрагмент из команде ярлыка".
Открытый метод GetTokenPath Возвращает путь в указанное расположение.
Открытый метод InvokeInsertionUI Отображает список фрагментов кода IntelliSense, которые могут быть вставлены в источник с помощью предоставленного IVsExpansionClient объект.

В начало страницы

Заметки

Диспетчер расширений вспомогательный интерфейс, который предоставляет доступ к сведениям о фрагментах кода. Этот интерфейс также может представлять список фрагментов, вставляемый в указанное расположение в документе.

Примечания для разработчиков

Этот интерфейс реализуется определяемая Visual Studio.

Примечания к вызывающим объектам

Этот интерфейс полученного вызовом метода GetExpansionManager метод IVsTextManager2 интерфейс.

Примеры

В этом примере показано, как извлечь IVsExpansionManager интерфейс заданного поставщика услуг.

using System;
using System.Runtime.InteropServices;
using Microsoft.VisualStudio;
using Microsoft.VisualStudio.TextManager.Interop;
using IOleServiceProvider = Microsoft.VisualStudio.OLE.Interop.IServiceProvider;

namespace MyPackage
{
    public class MyClass
    {
        public object GetService(IOleServiceProvider serviceProvider,
                                 Guid serviceGuid,
                                 Guid interfaceGuid)
        {
            IntPtr pUnknown = IntPtr.Zero;
            object unknown = null;
            int hr = serviceProvider.QueryService(ref serviceGuid,
                                    ref interfaceGuid,
                                    out pUnknown);
            if (ErrorHandler.Succeeded(hr))
            {
                unknown = Marshal.GetObjectForIUnknown(pUnknown);
            }
            return unknown;
        }


        private IVsExpansionManager GetExpansionManager(IOleServiceProvider serviceProvider)
        {
            IVsExpansionManager expansionManager = null;
            IVsTextManager textManager;
            textmanager = (IVsTextManager)this.GetService(serviceProvider,
                                                          typeof(SVsTextManager).GUID,
                                                          typeof(IVsTextManager).GUID);
            if (textManager != null)
            {
                IVsTextManager2 textManager2 = (IVsTextManager2)textManager;
                if (textManager2 != null)
                {
                    textManager2.GetExpansionManager(out expansionManager);
                }
            }
        }
        return expansionManager;
    }
}

См. также

Ссылки

Microsoft.VisualStudio.TextManager.Interop - пространство имен