Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

IVsExpansionManager Interface

Represents the expansion manager, which knows how to find and display lists of code snippets for a particular coding language.

Namespace:  Microsoft.VisualStudio.TextManager.Interop
Assembly:  Microsoft.VisualStudio.TextManager.Interop.8.0 (in Microsoft.VisualStudio.TextManager.Interop.8.0.dll)

public interface IVsExpansionManager

The IVsExpansionManager type exposes the following members.

Public methodEnumerateExpansionsRetrieves a list of code snippets for the specified coding language.
Public methodGetExpansionByShortcutRetrieves the title and path to a snippet given its shortcut name.
Public methodGetSnippetShortCutKeybindingStateInfrastructure. Determines if a key has been bound to the "Invoke Snippet From Shortcut" command.
Public methodGetTokenPathReturns the path to the specified location.
Public methodInvokeInsertionUIShows an IntelliSense list of code snippets that can be inserted into the source through the provided IVsExpansionClient object.

The expansion manager is a helper interface that provides access to information about code snippets. This interface can also present a list of snippets to be inserted at a particular place in a document.

Notes to Implementers

This interface is implemented by Visual Studio.

Notes to Callers

This interface is obtained by calling the GetExpansionManager method in the IVsTextManager2 interface.

This example shows how to retrieve the IVsExpansionManager interface given a service provider.

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,
            if (textManager != null)
                IVsTextManager2 textManager2 = (IVsTextManager2)textManager;
                if (textManager2 != null)
                    textManager2.GetExpansionManager(out expansionManager);
        return expansionManager;
© 2015 Microsoft