IVsPackage Interface

Initializes a VSPackage in the environment and makes its services available to the environment.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll)


<GuidAttribute("D4F3F4B1-E900-4E51-ADB3-D532348F83CB")> _
<InterfaceTypeAttribute()> _
Public Interface IVsPackage
public interface IVsPackage
public interface class IVsPackage
type IVsPackage =  interface end
public interface IVsPackage

The IVsPackage type exposes the following members.


  Name Description
Public method Close Closes the VSPackage, releases cached interface pointers, and unadvises event sinks.
Public method CreateTool Enables the environment to create on-demand tool windows that are implemented by VSPackages.
Public method GetAutomationObject Enables a VSPackage to participate in the DTE automation object model.
Public method GetPropertyPage Proffers access to the Tools menu Options and the property pages of the Customize Toolbox dialog boxes.
Public method QueryClose Enables a VSPackage that requires user intervention to abort the shutdown process.
Public method ResetDefaults Resets Toolbox defaults.
Public method SetSite Initializes a VSPackage with a back pointer to the environment.



This interface must be implemented on all VSPackage classes. Visual Studio uses this interface to call on the VSPackage for services it might provide. Most extensions start out by loading a VSPackage, which is sited to the environment. The calling VSPackage is handed a pointer to a service provider.

Notes to Implementers

Implement IVsPackage whenever you initialize a VSPackage.

If a package needs to block shutdown of the IDE it should implement IVsPackage2.

See Also


Microsoft.VisualStudio.Shell.Interop Namespace