Share via


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)

Syntax

'Declaration
<GuidAttribute("798CC43B-7714-4DC1-925A-47863C24630D")> _
<InterfaceTypeAttribute()> _
Public Interface IVsExpansion
[GuidAttribute("798CC43B-7714-4DC1-925A-47863C24630D")]
[InterfaceTypeAttribute()]
public interface IVsExpansion
[GuidAttribute(L"798CC43B-7714-4DC1-925A-47863C24630D")]
[InterfaceTypeAttribute()]
public interface class IVsExpansion
[<GuidAttribute("798CC43B-7714-4DC1-925A-47863C24630D")>]
[<InterfaceTypeAttribute()>]
type IVsExpansion =  interface end
public interface IVsExpansion

The IVsExpansion type exposes the following members.

Methods

  Name Description
Public method InsertExpansion Inserts the code snippet associated with the shortcut that can be found at the given context position in the text buffer.
Public method InsertNamedExpansion Inserts snippet with the specified name at the specified position in the text buffer.
Public method InsertSpecificExpansion Inserts the code snippet from the specified XML node into the text buffer at the specified position.

Top

Remarks

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.

See Also

Reference

Microsoft.VisualStudio.TextManager.Interop Namespace