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: Write to the Activity Log.
In This Section
- Service Essentials 
 Presents the important elements of a Visual Studio service.
- Registering Services 
 Explains how to register a global service.
- How to: Consume a Service 
 Discusses how to request (consume) a service.
- How to: Provide a Service 
 Discusses how to provide a service.
- How to: Troubleshoot Services 
 Discusses common problems and presents solutions to them.
- How to: Use GetGlobalService 
 Shows how to use GetGlobalService to obtain a service for a VSPackage that has not been sited, a tool window, or a control container.
- How to: Get a Service from a Background Thread (C++) 
 Explains how to marshal a service into a stream so that it can be accessed by a background thread.
- How to: Get a Service from the DTE Object 
 Explains how to obtain a service from a program that has access to the Visual Studio Automation DTEClass object.
- List of Available Services 
 Lists the most popular services.
- Services Used in Samples 
 Lists popular services and the samples that contain them.
- Visual Studio Extensibility Samples 
 Services samples you can load in Visual Studio.
Related Sections
- Visual Studio Integration Architecture
 Describes Visual Studio and its IDE, and introduces strategies and techniques for extending the IDE.