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
'Déclaration
<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 | |
---|---|---|
InsertExpansion | Inserts the code snippet associated with the shortcut that can be found at the given context position in the text buffer. | |
InsertNamedExpansion | Inserts snippet with the specified name at the specified position in the text buffer. | |
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.