List of Available Services

Visual Studio and the Visual Studio 2012 SDK support the following services. Note that 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

Allows a VSPackage to access the automation interface of another VSPackage or a control.

SExtendedTypeLib

IExtendedTypeLib

Yes

Yes

Allows 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

Allows a VSPackage to have its own tool windows dynamically shown or hidden.

SLicensedClassManager

ILicensedClassManager

Yes

Yes

Allows a VSPackage to indicate to Visual Studio the classes that it requires by specifying a list of license keys.

SLocalRegistry

ILocalRegistry

ILocalRegistry2

Yes

Yes

Allows 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

Allows 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

Allows a VSPackage to integrate its UI with the UI of Visual Studio.

SOleInPlaceComponentSite

IOleInPlaceComponentSite

Yes

Yes

Allows a VSPackage to control UI changes that are specific to tools.

SOleUndoManager

IOleUndoManager

Yes

Yes

Allows 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

Allows a VSPackage to offer its own services.

SProfferTypeLib

IProfferTypeLib

Yes

Yes

Allows 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

Allows 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

Allows 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 Web Reference dialog box.

SVsAppCommandLine

IVsAppCommandLine

Yes

Yes

Allows a VSPackage to determine if a command-line switch was given to devenv.exe.

SVsCallBrowser

IVsCallBrowser

No

Yes

Allows a VSPackage to create a new Call Browser used in debugging.

SVsClassView

IVsClassView

Yes

Yes

Allows 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

Allows 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

Allows a VSPackage to add changes to the code window such as drop-down bars.

SVsCommandWindow

IVsCommandWindow

IVsCommandWindow2

Yes

Yes

Allows a VSPackage to run a command through the Command Window and otherwise interact with the Command Window.

SVsCommandWindowsCollection

IVsCommandWindowsCollection

No

Yes

Allows a VSPackage to manipulate the list of Command windows maintained by Visual Studio.

SVsComplusLibrary

IVsLibraryReferenceManager

Yes

Yes

Allows a VSPackage to provide browse information to the Object Browser.

SVsComponentSelectorDlg

IVsComponentSelectorDlg

No

Yes

Allows a VSPackage to support the Add Reference option, which lets a user select external components to add to the project.

SVsComponentSelectorDlg2

IVsComponentSelectorDlg2

No

Yes

Allows 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

Allows a VSPackage to create a project that contains a collection of other projects.

SVsDebuggableProtocol

IVsDebuggableProtocol

Yes

Yes

Allows a VSPackage to update the list of debuggable protocols used by the IDE to start particular debug engines.

SVsDebugLaunch

IVsDebugLaunch

Yes

Yes

Allows a VSPackage to support starting a debugger.

SVsDiscoveryService

IVsDiscoveryService

Yes

Yes

Allows 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

Allows a VSPackage to gain access to various file change events triggered by the IDE.

SVsFilterAddProjectItemDlg

IVsFilterAddProjectItemDlg

Yes

Yes

Allows a VSPackage to filter items that appear in the Add Item dialog box.

SVsFilterKeys

IVsFilterKeys

Yes

Yes

Allows 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

Allows 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

Allows 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

Allows 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

Allows 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

Allows 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

Allows 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

Allows a VSPackage to provide additional information to the text view such as data tips and the extent of words.

SVsLaunchPad

IVsLaunchPad

Yes

Yes

Allows 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

Allows a forms designer to access the shared menu editor. IVsMenuEditorFactory can be queried for IVsMenuEditor.

SVsMonitorUserContext

IVsMonitorUserContext

Yes

Yes

Allows a VSPackage to create a "context bag", which is used to associate Help keywords for a particular context.

SVsObjBrowser

IVsObjBrowser

Yes

Yes

Allows a VSPackage to navigate to a specific object in the Object Browser.

SVsObjectManager

IVsObjectManager

Yes

Yes

Allows a VSPackage to register its library manager with Visual Studio for managing objects such as a namespaces, classes and enumerations.

SVsObjectSearch

IVsObjectSearch

Yes

Yes

Allows a VSPackage to search for a particular object.

SVsOpenProjectOrSolutionDlg

IVsOpenProjectOrSolutionDlg

No

Yes

Allows a VSPackage to use the standard Visual Studio dialog box to open a project or solution.

SVsOutputWindow

IVsOutputWindow

Yes

Yes

Allows a VSPackage to create additional output panes in the general Output window.

SVsParseCommandLine

IVsParseCommandLine

Yes

Yes

Allows 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

Allows 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

Allows a VSPackage project to programmatically override the target to launch in a debugger.

SVsRegisterEditors

IVsRegisterEditors

Yes

Yes

Allows a VSPackage to register an editor factory with the IDE.

SVsRegisterFindScope

IVsRegisterFindScope

No

Yes

Allows a VSPackage to register a search scope for the Find in Files dialog box.

SVsRegisterPriorityCommandTarget

IVsRegisterPriorityCommandTarget

Yes

Yes

Allows 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

Allows a VSPackage to register project types with the IDE.

SVsResourceManager

IVsResourceManager

No

Yes

Allows 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

Allows VSPackages to register themselves with a source control provider so they can participate in source control.

SVsSccToolsOptions

IVsSccToolsOptions

Yes

Yes

Allows 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

Allows 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

Allows 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

Allows a VSPackage to interact with a solution's build process.

SVsSolutionObject

IVsSolution

Yes

Yes

Use the SVsSolution service instead.

SVsSolutionPersistence

IVsSolutionPersistence

Yes

Yes

Allows 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

Allows 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

Allows a VSPackage to show a dialog box that waits on a different thread (used to waiting for background tasks).

SVsThreadPool

IVsThreadPool

No

Yes

Allows 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

Allows a VSPackage to obtain information from Toolbox items.

SVsToolboxDataProviderRegistry

IVsToolboxDataProviderRegistry

No

Yes

Allows a VSPackage to register a toolbox data provider without incurring the performance cost of preloading the entire Toolbox.

SVsToolsOptions

IVsToolsOptions

No

Yes

Allows 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

Allows a VSPackage to monitor changes in a project's files and to provide batch control over a source control provider.

SVsTrackSelectionEx

IVsTrackSelectionEx

Yes

Yes

Allows a VSPackage to inform the IDE of changes to a selection that can affect the currently selected project item.

SVsUIHierWinClipboardHelper

IVsUIHierWinClipboardHelper

Yes

Yes

Allows 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

Allows 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

Allows 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

Allows a VSPackage to create and control a Web browsing session.

SVsWebFavorites

IVsWebFavorites

Yes

Yes

Allows a VSPackage to add to the user's Favorites list.

SVsWebPreview

IVsWebPreview

Yes

Yes

Allows a VSPackage to preview a Web page, typically in a child window.

SVsWebURLMRU

IVsWebURLMRU

Yes

Yes

Allows 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

Allows 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

Other Resources

COM and Managed Services

Services