IVsExpansion Interface

Provides a way to insert code snippets into a text buffer.

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

public interface IVsExpansion

The IVsExpansion type exposes the following members.

Public methodInsertExpansionInserts the code snippet associated with the shortcut that can be found at the given context position in the text buffer.
Public methodInsertNamedExpansionInserts snippet with the specified name at the specified position in the text buffer.
Public methodInsertSpecificExpansionInserts the code snippet from the specified XML node into the text buffer at the specified position.

Code snippets are pieces of code that are inserted and formatted automatically, typically by selecting from a menu of snippets (as displayed by the InvokeInsertionUI method in the IVsExpansionManager interface). An alternative approach is to obtain a shortcut to a code snippet, call the GetExpansionByShortcut method in the IVsExpansionManager interface to obtain the path to the snippet, and then call the InsertNamedExpansion in the IVsExpansion interface.

The InvokeInsertionUI method is passed an IVsExpansionClient interface that in turn handles the details of calling the InsertNamedExpansion method on the IVsExpansion interface (specifically, in the OnItemChosen method in the IVsExpansionClient interface). This means the object that implements the IVsExpansionClient interface must obtain or be given an IVsExpansion interface before the InvokeInsertionUI method is called.

Notes to Implementers

This interface is implemented on the same object that implements an IVsTextBuffer interface as this interface affects the associated text buffer.

Notes to Callers

Obtain this interface with a call to the QueryInterface method on an IVsTextBuffer object (or, for managed code, cast the IVsTextBuffer object to the IVsExpansion interface). If the IVsExpansion interface can be obtained, then the text buffer is announcing support for inserting code snippets.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft