Using and Providing Services

A service is a contract between two VSPackages. One VSPackage offers a specific set of interfaces for another VSPackage to consume. For example, Visual Studio offers the SVsActivityLog service to any VSPackage it loads. This service provides the IVsActivityLog interface, which can be used to write to the activity log. For more information, see How to: Use the Activity Log.

VSPackages can offer services of their own by using the IProfferService interface..

Visual Studio offers important services, such as the following:

IDE service Description
SVsShell Provides access to IDE services dealing with basic functionality, VSPackages, and the registry.
SVsUIShell Provides basic windowing and UI-related functionality in the IDE, such as the ability to create tools and document windows.
SVsSolution Provides basic solution-related functionality, such as the ability to enumerate projects, create new projects, and monitor project changes.

In This Section