VSPackage Essentials
VSPackages are software modules that make up and extend the Visual Studio integrated development environment (IDE) by providing UI elements, services, projects, editors, and designers. VSPackages are the principal architectural unit of Visual Studio, and are the unit of deployment, licensing, and security also. Visual Studio itself is written mostly as a collection of VSPackages.
To create a Visual Studio extensibility application, you would first create a VSPackage. You can then add menu commands, tool windows, document windows, or other code to extend the Visual Studio IDE. When the VSPackage is ready to be deployed, you must obtain and install a package load key (PLK).
VSPackages have a state that is determined by property pages, settings, and other means.
VSPackages can advertise on the About dialog box and splash screens of Visual Studio.
Each VSPackage has a unique package load key (PLK), which guarantees that the VSPackage has passed the Visual Studio integration test. Visual Studio only load a VSpackage that has a valid PLK.