We recommend using Visual Studio 2017

Implementing the IVsPackage Interface


All VSPackages must implement the IVsPackage interface. Visual Studio calls the methods of IVsPackage to initialize and close VSPackages, to get associated property pages, and for other reasons. The IVsPackage interface is the gateway interface between Visual Studio and a VSPackage.

You can write a managed VSPackage as a subclass of the Package class, which implements IVsPackage on your behalf. For more information, see Managed VSPackages.


Much of the unmanaged sample code in the Visual Studio Integration section of the Visual Studio SDK uses the Active Template Library (ATL). You do not need to use ATL to create VSPackages, but you must understand ATL to understand the sample code.