This topic has not yet been rated - Rate this topic

IVsExpansionClient Interface

Allows a VSPackage to participate in the code snippet insertion process.

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

The IVsExpansionClient type exposes the following members.

  NameDescription
Public methodEndExpansionCalled to signal the end of the code snippet insertion and editing phase.
Public methodFormatSpanCalled to format the specified span in the specified text buffer.
Public methodGetExpansionFunctionCalled to obtain an expansion function for the specified code snippet.
Public methodIsValidKindCalled to verify that the specified location can accept the specified kind of snippet.
Public methodIsValidTypeCalled to verify that the specified location can accept the specified types of code snippets.
Public methodOnAfterInsertionCalled after the code snippet has been inserted and formatted.
Public methodOnBeforeInsertionCalled before the code snippet has been inserted.
Public methodOnItemChosenCalled when a code snippet name has been selected from an IntelliSense menu.
Public methodPositionCaretForEditingCalled to position the edit caret in the specified place in a code snippet after it has been inserted and formatted.
Top

This interface is used by clients of the code snippet manager to:

  • Receive before and after notifications during the insertion process.

  • Format the code snippet after it is inserted.

  • Verify that the snippet can be inserted at a given location.

  • Initiate a code snippet insertion in response to an IntelliSense menu selection of a code snippet.

  • Position the edit caret after a code snippet has been inserted.

Notes to Implementers

This interface is implemented by a VSPackage that supports insertion of code snippets. If you support the use of the InvokeInsertionUI method in the IVsExpansionManager interface (typically through a custom menu action that your VSPackage installs), then you must implement the IVsExpansionClient interface and the OnItemChosen method. Otherwise, you do not need to implement the IVsExpansionClient interface unless you need to verify the placement of code snippets or you support automatic formatting of source code.

NoteNote

If you implement the IVsExpansionClient interface to support the OnItemChosen method, your class implementation should obtain and store the IVsExpansion interface from the IVsTextBuffer object before the InvokeInsertionUI method is called as the IVsExpansion interface is needed to complete the implementation of the OnItemChosen interface.

Notes to Callers

This interface is instantiated and passed to the InvokeInsertionUI method in the IVsExpansionManager interface. This interface is also instantiated and passed to the methods in the IVsExpansion interface.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.