List of Available Services

Note

This article applies to Visual Studio 2015. If you're looking for Visual Studio 2017 documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2017. Download it here.

Visual Studio and the Visual Studio SDK support the following services. Some packages offer their own services which are not listed hereā€”for example, language services do not have a single service GUID. You must use the name of the language to find the GUID of the language service in the registry.

Use the service GUIDs listed here or obtained from some other source (for example, language services) to obtain the primary interface or interfaces shown with each service.

The Services

Service Interface Visual Studio Visual Studio 2005 Description
SBindHost IBindHost Yes Yes Used by VSPackages to obtain an IBindHost interface from an ActiveX control to facilitate asynchronous data transfers.
SDTE DTE No Yes Obtains the Design Time Extensibility (DTE) object used for automation.

C/C++ ID: SID_SDTE
SCodeNavigate ICodeNavigate Yes Yes Implemented by a forms designer to display the default event handler for a control.
SContainerDispatch IDispatch Yes Yes Enables a VSPackage to access the automation interface of another VSPackage or a control.
SExtendedTypeLib IExtendedTypeLib Yes Yes Enables a VSPackage to add or create an extended type library.
SDirList IDirList No Yes Provides access to a container's named list of lists; for example, the list of directories to search as shown in the Find and Replace dialog box in the Look In drop-down list. The IDirList object can be read from as well as written to.
SIVsPackageDynamicToolOwner IVsPackageDynamicToolOwner Yes Yes Enables a VSPackage to have its own tool windows dynamically shown or hidden.
SLicensedClassManager ILicensedClassManager Yes Yes Enables a VSPackage to indicate to Visual Studio the classes that it requires by specifying a list of license keys.
SLocalRegistry ILocalRegistry

ILocalRegistry2
Yes Yes Enables a VSPackage to access the registry relative to the local Visual Studio registry hive.
SOleComponentManager IOleComponentManager Yes Yes Provides component coordination services such as message loops, keyboard loops, and event notifications.
SOleComponentUIManager IOleComponentUIManager Yes Yes Enables a VSPackage to access the various user interface (UI) elements of Visual Studio, such as help, status bar, and UI events.
SOleInPlaceComponent IOleInPlaceComponent Yes Yes Enables a VSPackage to integrate its UI with the UI of Visual Studio.
SOleInPlaceComponentSite IOleInPlaceComponentSite Yes Yes Enables a VSPackage to control UI changes that are specific to tools.
SOleUndoManager IOleUndoManager Yes Yes Enables a VSPackage to access a container's undo manager to either participate in that container's undo stack or to access that container's undo stack.
SProfferService IProfferService Yes Yes Enables a VSPackage to offer its own services.
SProfferTypeLib IProfferTypeLib Yes Yes Enables a forms designer to make a type library available for reference.
STrackSelection ITrackSelection Yes Yes Provides access to the selections in a selection container. Used by a forms designer.
SUIHostCommandDispatcher IOleCommandTarget Yes Yes Enables a VSPackage to participate in the command handler chain and handle commands on behalf of the integrated development environment (IDE) or itself.
SUIHostLocale IUIHostLocale Yes Yes Provides access to the UI locale information of the host.
SVsActivityLog IVsActivityLog No Yes Enables a VSPackage to log high-level messages when logging is turned on.
SVsAddProjectItemDlg IVsAddProjectItemDlg Yes Yes Provides access to the Add Project Item dialog box, allowing VSPackages to implement their own Add Item menu option.
SVsAddWebReferenceDlg IVsAddWebReferenceDlg Yes Yes Displays the Add Reference dialog box.
SVsAppCommandLine IVsAppCommandLine Yes Yes Enables a VSPackage to determine if a command-line switch was given to devenv.exe.
SVsCallBrowser IVsCallBrowser No Yes Enables a VSPackage to create a new Call Browser used in debugging.
SVsClassView IVsClassView Yes Yes Enables a VSPackage to synchronize the Class View to a specific object.
SVsCmdNameMapping IVsCmdNameMapping Yes Yes Provides support for mapping command names to GUIDs and back and determining the names of all available commands and names.
SVsCodeDefView IVsCodeDefView No Yes Enables a VSPackage to manipulate the Code Definition View.
SVsCodeShareHandler IVsCodeShareHandler Yes Yes Internal service. Do not use.
SVsCodeWindow IVsCodeWindow Yes Yes Provides access to a code window that can contain one or more documents.
SVsCodeWindowManager IVsCodeWindowManager Yes Yes Enables a VSPackage to add changes to the code window such as drop-down bars.
SVsCommandWindow IVsCommandWindow

IVsCommandWindow2
Yes Yes Enables a VSPackage to run a command through the Command Window and otherwise interact with the Command Window.
SVsCommandWindowsCollection IVsCommandWindowsCollection No Yes Enables a VSPackage to manipulate the list of Command windows maintained by Visual Studio.
SVsComplusLibrary IVsLibraryReferenceManager Yes Yes Enables a VSPackage to provide browse information to the Object Browser.
SVsComponentSelectorDlg IVsComponentSelectorDlg No Yes Enables a VSPackage to support the Add Reference option, which lets a user select external components to add to the project.
SVsComponentSelectorDlg2 IVsComponentSelectorDlg2 No Yes Enables a VSPackage to support the Add Reference option, which lets a user select external components to add to the project. This version of the dialog box allows pre-populating of the component list before it is shown.
SVsConfigurationManagerDlg IVsConfigurationManagerDlg No Yes Displays the Configuration Manager dialog box.
SVsCreateAggregateProject IVsCreateAggregateProject No Yes Enables a VSPackage to create a project that contains a collection of other projects.
SVsDebuggableProtocol IVsDebuggableProtocol Yes Yes Enables a VSPackage to update the list of debuggable protocols used by the IDE to start particular debug engines.
SVsDebugLaunch IVsDebugLaunch Yes Yes Enables a VSPackage to support starting a debugger.
SVsDiscoveryService IVsDiscoveryService Yes Yes Enables a VSPackage to create a discovery session that is used to discover Web services.
SVsEnumHierarchyItemsFactory IVsEnumHierarchyItemsFactory Yes Yes Provides a factory to create IVsEnumHierarchyItemsFactory objects used to enumerate over specified hierarchies (projects).
SVsErrorList IVsErrorList No Yes Provides additional methods for manipulating the Build Error List task window. Specifically, brings the Build Error List task window to the forefront and forces all errors to be displayed.
SVsExternalFilesManager IVsExternalFilesManager Yes Yes Provides access to the Miscellaneous Files project node of the current solution.
SVsFileChange Yes Yes Obsolete. Use SVsFileChangeEx service instead.
SVsFileChangeEx IVsFileChangeEx Yes Yes Enables a VSPackage to gain access to various file change events triggered by the IDE.
SVsFilterAddProjectItemDlg IVsFilterAddProjectItemDlg Yes Yes Enables a VSPackage to filter items that appear in the Add Item dialog box.
SVsFilterKeys IVsFilterKeys Yes Yes Enables a VSPackage to perform advanced keyboard filtering.
SVsFontAndColorCacheManager IVsFontAndColorCacheManager No Yes Provides access to the set of caches for fonts and colors in Visual Studio to refresh or clear a particular cache or all caches.
SVsFontAndColorStorage IVsFontAndColorStorage

IVsFontAndColorUtilities
Yes Yes Enables a VSPackage to manipulate the font and color settings maintained by Visual Studio. In addition, this service provides access to a collection of utility methods for manipulating font and color data.
SVsGeneralOutputWindowPane IVsOutputWindowPane Yes Yes Provides access to the general Output Window pane, creating it as necessary.
SVsHelpService IVsHelpSystem Yes Yes Provides access to the Help system.
SVsHTMLConverter IVsHTMLConverter Yes Yes Used by the Visual Studio debugger to handle HTML to format its output.
SVsIME IVsIME Yes Yes Provides access to the Input Method Editor (IME) API from within a VSPackage.
SVsIntegratedHelp SVsHelp Yes Yes Provides access to the Visual Studio Help system for keyword or URL access as well as navigation control through a help file. This service is available only if Help is integrated into the Visual Studio IDE and not running as an external program.
SVsIntelliMouseHandler IVsIntelliMouseHandler Yes Yes Enables a VSPackage to gain access to IntelliMouse functionality such as using the mouse wheel and handling scroll and pan bitmaps when the mouse wheel is clicked.
SVsIntellisenseEngine IVsIntellisenseEngine No Yes Enables a project hierarchy node to load or unload files as part of support for IntelliSense operations. The process of loading and unloading triggers events that can affect what is displayed in IntelliSense tooltips for the project.
SVsIntellisenseProjectHost IVsIntellisenseProjectHost No Yes Enables a project hierarchy node to provide information about nested IntelliSense projects (that implement the IVsIntellisenseProject interface) that can be displayed in an IntelliSense tooltip.
SVsIntellisenseProjectManager IVsIntellisenseProjectManager No Yes Enables a project hierarchy node to advise listeners of events, such as changes in references or configuration, which can affect what is displayed in IntelliSense tooltips. Designed to be used with Contained Languages.
SVsInvisibleEditorManager IVsInvisibleEditorManager Yes Yes Enables a VSPackage to register an "invisible" editor, that is, an editor that provides full editing functionality but is not visible to users.
SVsLanguageFilter IVsTextViewFilter Yes Yes Enables a VSPackage to provide additional information to the text view such as data tips and the extent of words.
SVsLaunchPad IVsLaunchPad Yes Yes Enables a VSPackage to execute temporary batch scripts, to execute a command-line program whose output is sent to an output pane, and to parse standard warning and error messages that are sent to an error window.
SVsLaunchPadFactory IVsLaunchPadFactory Yes Yes Provides a factory for creating IVsLaunchPad objects.
SVsLinkedUndoTransactionManager IVsLinkedUndoTransactionManager Yes Yes Provides access to the linked undo manager.
SVsMenuEditor IVsMenuEditorFactory Yes Yes Enables a forms designer to access the shared menu editor. IVsMenuEditorFactory can be queried for IVsMenuEditor.
SVsMonitorUserContext IVsMonitorUserContext Yes Yes Enables a VSPackage to create a "context bag", which is used to associate Help keywords for a particular context.
SVsObjBrowser IVsObjBrowser Yes Yes Enables a VSPackage to navigate to a specific object in the Object Browser.
SVsObjectManager IVsObjectManager Yes Yes Enables a VSPackage to register its library manager with Visual Studio for managing objects such as a namespaces, classes and enumerations.
SVsObjectSearch IVsObjectSearch Yes Yes Enables a VSPackage to search for a particular object.
SVsOpenProjectOrSolutionDlg IVsOpenProjectOrSolutionDlg No Yes Enables a VSPackage to use the standard Visual Studio dialog box to open a project or solution.
SVsOutputWindow IVsOutputWindow Yes Yes Enables a VSPackage to create additional output panes in the general Output window.
SVsParseCommandLine IVsParseCommandLine Yes Yes Enables an implementer of the IOleCommandTarget interface to parse command lines.
SVsPathVariableResolver IVsPathVariableResolver No Yes Provides a way to resolve variables that are specific to Visual Studio and that are embedded in paths to produce a final path.
SVsPreviewChangesService IVsPreviewChangesService No Yes Displays the Preview Changes dialog box that is used in refactoring code.
SVsProfileDataManager IVsProfileDataManager No Yes Provides access to the profile manager of Visual Studio which allows for importing and exporting settings data as well as displaying a UI of the current user's profile settings.
SVsProfilesManagerUI IVsProfilesManagerUI No Yes Displays a dialog box showing the current user's profile settings.
SVsPropertyPageFrame IVsPropertyPageFrame Yes Yes Enables a VSPackage to override which property page is initially shown in the Properties window.
SVsQueryEditQuerySave IVsQueryEditQuerySave2 No Yes Used by VSPackages to inform a source control provider that a file is about to be changed in memory or saved.
SVsRegisterDebugTargetProvider IVsRegisterProjectDebugTargetProvider No Yes Enables a VSPackage project to programmatically override the target to launch in a debugger.
SVsRegisterEditors IVsRegisterEditors Yes Yes Enables a VSPackage to register an editor factory with the IDE.
SVsRegisterFindScope IVsRegisterFindScope No Yes Enables a VSPackage to register a search scope for the Find in Files dialog box.
SVsRegisterPriorityCommandTarget IVsRegisterPriorityCommandTarget Yes Yes Enables a VSPackage to register itself as a high priority command handler, which allows the VSPackage to see all commands. Use sparingly, if at all.
SVsRegisterProjectTypes IVsRegisterProjectTypes Yes Yes Enables a VSPackage to register project types with the IDE.
SVsResourceManager IVsResourceManager No Yes Enables a VSPackage to load managed and unmanaged resources from satellite DLLs.
SVsResourceView IVsResourceView Yes Yes Use SVsClassView service instead.
SVsRunningDocumentTable IVsRunningDocumentTable Yes Yes Provides access to the IDE's Running Document Table (RDT) that tracks all currently opened documents.
SVsSccManager IVsSccManager2 No Yes Enables VSPackages to register themselves with a source control provider so they can participate in source control.
SVsSccToolsOptions IVsSccToolsOptions Yes Yes Enables a VSPackage to get and set source control provider options.
SVsSettingsReader IVsSettingsReader No Yes Provides read access to the user's profile settings.
SVsShell IVsShell Yes Yes Enables a VSPackage to directly interact with and manipulate other VSPackages.
SVsShellDebugger IVsDebugger Yes Yes Provides access to the Visual Studio debugger.
SVsShellMonitorSelection IVsMonitorSelection Yes Yes Enables a VSPackage to access the current selection and manage command UI contexts.
SVSMDCodeDomProvider IVSMDCodeDomProvider No Yes Provides access to a code document object model (DOM) provider which can be used in native code.
SVSMDDesignerService IVSMDCodeDomCreator

IVSMDDesignerService
No Yes Provides access to the IDE's support for managed form designers. The IVSMDCodeDomCreator can be used to create code DOM providers.
SVSMDPropertyBrowser IVSMDPropertyBrowser No Yes Provides access to the designer property windows service.
SVSMDTypeResolutionService IVSMDTypeResolutionService No Yes Provides access to an interface that can return an ITypeResolutionService object useable in native code.
SVsSmartOpenScope IVsSmartOpenScope No Yes Provides a way to open a scope on an assembly, taking into account locking as needed.
SVsSolution IVsSolution Yes Yes Provides top-level access to the current solution.
SVsSolutionBuildManager IVsSolutionBuildManager Yes Yes Enables a VSPackage to interact with a solution's build process.
SVsSolutionObject IVsSolution Yes Yes Use the SVsSolution service instead.
SVsSolutionPersistence IVsSolutionPersistence Yes Yes Enables a VSPackage to store and retrieve information from the current solution's .sln file.
SVsSQLCLRReferences IVsSQLCLRReferences No Yes Provides the ability add and update references in managed code assemblies.
SVsStartPageDownload IVsStartPageDownload No Yes Provides access to the Start Page's download service for starting and stopping the download service on a background thread.
SVsStatusbar IVsStatusbar Yes Yes Provides access to the IDE's status bar.
SVsStrongNameKeys IVsStrongNameKeys No Yes Provides access to methods for creating strong key names and key files with passwords that are used in signing managed code assemblies.
SVsStructuredFileIO IVsStructuredFileIO Yes Yes Enables a VSPackage to provide support for saving data in multiple formats.
SVsTaskList IVsTaskList Yes Yes Provides access the IDE's Task List window.
SVsTextImageUtilities IVsTextImageUtilities No Yes Provides utilities for loading and saving text files.
SVsTextManager IVsTextManager

IVsHiddenTextManager
Yes Yes Provides access to all text buffers as well as hidden text sessions (for hidden regions) that are available in the IDE.
SVsTextOut IVsTextOut Yes Yes Provides a version of the Win32 TextOut function for writing text to a device context (requires a DC handle).
SVsTextSpanSet IVsTextSpanSet Yes Yes Provides access to a list of text spans in a text image or buffer. This service is typically implemented on a container of documents and refers to the current document.
SVsThreadedWaitDialog IVsThreadedWaitDialog No Yes Enables a VSPackage to show a dialog box that waits on a different thread (used to waiting for background tasks).
SVsThreadPool IVsThreadPool No Yes Enables a VSPackage to initiate background tasks that are then maintained by Visual Studio.
SVsToolbox IVsToolbox Yes Yes Provides access to the IDE's Toolbox.
SVsToolboxActiveXDataProvider IVsToolboxDataProvider Yes Yes Enables a VSPackage to obtain information from Toolbox items.
SVsToolboxDataProviderRegistry IVsToolboxDataProviderRegistry No Yes Enables a VSPackage to register a toolbox data provider without incurring the performance cost of preloading the entire Toolbox.
SVsToolsOptions IVsToolsOptions No Yes Enables a VSPackage to determine if the Options dialog box is open and to refresh the visibility of all options page.
SVsTrackProjectDocuments IVsTrackProjectDocuments2

IVsTrackProjectDocuments3
No Yes Enables a VSPackage to monitor changes in a project's files and to provide batch control over a source control provider.
SVsTrackSelectionEx IVsTrackSelectionEx Yes Yes Enables a VSPackage to inform the IDE of changes to a selection that can affect the currently selected project item.
SVsUIHierWinClipboardHelper IVsUIHierWinClipboardHelper Yes Yes Enables a hierarchy (such as a project VSPackage) to coordinate use of the clipboard with other hierarchies.
SVsUIShell IVsUIShell Yes Yes Provides access to the IDE's UI elements such as tool windows and document windows.
SVsUIShellDocumentWindowMgr IVsUIShellDocumentWindowMgr Yes Yes Enables a VSPackage to restore the positions of all windows based on the contents of a stream of data or to save the position of all windows to a stream. Rarely used.
SVsUIShellOpenDocument IVsUIShellOpenDocument Yes Yes Enables a VSPackage to open documents in numerous ways and to determine who owns what document.
SVsUpgradeLogger IVsUpgradeLogger No Yes Used by implementers of the IVsProjectUpgradeViaFactory interface to report error and informational messages.
SVsWebBrowsingService IVsWebBrowsingService Yes Yes Enables a VSPackage to create and control a Web browsing session.
SVsWebFavorites IVsWebFavorites Yes Yes Enables a VSPackage to add to the user's Favorites list.
SVsWebPreview IVsWebPreview Yes Yes Enables a VSPackage to preview a Web page, typically in a child window.
SVsWebURLMRU IVsWebURLMRU Yes Yes Enables a VSPackage to add a URL to the Most Recently Used (MRU) list of URLs and to obtain a list of all URLs in the MRU list.
SVsWindowFrame IVsWindowFrame Yes Yes Enables a VSPackage to obtain the window frame in which the package or part of the package might be situated.
SVsXMLMemberIndexService IVsXMLMemberIndexService Yes Yes Provides access to XML-formatted documentation files associated with a particular metadata file.

See Also

COM and Managed Services
Using and Providing Services