다음을 통해 공유


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 형식에서는 다음과 같은 멤버를 노출합니다.

메서드

  이름 설명
Public 메서드 EnumerateExpansions 지정 된 코드 언어에 대 한 코드 조각 목록을 검색합니다.
Public 메서드 GetExpansionByShortcut 제목 및 코드 조각 지정 된 바로 가기 이름에 대 한 경로 검색 합니다.
Public 메서드 GetSnippetShortCutKeybindingState 인프라입니다. "가기에서 코드 조각을 호출" 명령에 키 바인딩 되었습니다 경우 결정 합니다.
Public 메서드 GetTokenPath 경로 지정 된 위치에 반환합니다.
Public 메서드 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 네임스페이스