可用服务列表

Visual Studio 和 Visual Studio SDK 支持以下服务。 某些包提供此处未列出的自己的服务,例如,语言服务没有单个服务 GUID。 必须使用语言的名称在注册表中查找语言服务的 GUID。

使用此处列出的服务 GUID 或从某些其他源(例如语言服务)获取与每个服务显示的主接口或接口。

服务

服务 接口 Visual Studio Visual Studio 2005 DESCRIPTION
SBindHost IBindHost 是的 是的 由 VSPackages 用来从 ActiveX 控件获取 IBindHost 接口,以方便异步数据传输。
SDTE DTE 是的 获取用于自动化的设计时扩展性 (DTE) 对象。

C/C++ ID:SID_SDTE
SCodeNavigate ICodeNavigate 是的 是的 由窗体设计器实现以显示控件的默认事件处理程序。
SContainerDispatch IDispatch 是的 是的 允许 VSPackage 访问另一个 VSPackage 或控件的自动化接口。
SExtendedTypeLib IExtendedTypeLib 是的 是的 允许 VSPackage 添加或创建扩展类型库。
SDirList IDirList 是的 提供对容器的命名列表的访问权限;例如,要搜索的目录列表,如“ 查找和替换 ”对话框中的“ 查找 和替换”下拉列表中所示。 IDirList可以读取对象以及写入对象。
SIVsPackageDynamicToolOwner IVsPackageDynamicToolOwner 是的 是的 使 VSPackage 能够动态显示或隐藏自己的工具窗口。
SLicensedClassManager ILicensedClassManager 是的 是的 通过指定许可证密钥列表,使 VSPackage 能够向 Visual Studio 指示它所需的类。
SLocalRegistry ILocalRegistry

ILocalRegistry2
是的 是的 允许 VSPackage 访问相对于本地 Visual Studio 注册表配置单元的注册表。
SOleComponentManager IOleComponentManager 是的 是的 提供组件协调服务,例如消息循环、键盘循环和事件通知。
SOleComponentUIManager IOleComponentUIManager 是的 是的 使 VSPackage 能够访问 Visual Studio 的各种用户界面(UI)元素,例如帮助、状态栏和 UI 事件。
SOleInPlaceComponent IOleInPlaceComponent 是的 是的 使 VSPackage 能够将其 UI 与 Visual Studio 的 UI 集成。
SOleInPlaceComponentSite IOleInPlaceComponentSite 是的 是的 使 VSPackage 能够控制特定于工具的 UI 更改。
SOleUndoManager IOleUndoManager 是的 是的 使 VSPackage 能够访问容器的撤消管理器,以参与该容器的撤消堆栈或访问该容器的撤消堆栈。
SProfferService IProfferService 是的 是的 使 VSPackage 能够提供自己的服务。
SProfferTypeLib IProfferTypeLib 是的 是的 使表单设计器能够使类型库可供引用。
STrackSelection ITrackSelection 是的 是的 提供对选择容器中所选内容的访问权限。 表单设计器使用。
SUIHostCommandDispatcher IOleCommandTarget 是的 是的 使 VSPackage 能够参与命令处理程序链,并代表集成开发环境(IDE)本身处理命令。
SUIHostLocale IUIHostLocale 是的 是的 提供对主机的 UI 区域设置信息的访问权限。
SVsActivityLog IVsActivityLog 是的 启用日志记录后,VSPackage 可以记录高级消息。
SVsAddProjectItemDlg IVsAddProjectItemDlg 是的 是的 提供对 “添加项目项 ”对话框的访问权限,允许 VSPackage 实现其自己的 “添加项 ”菜单选项。
SVsAddWebReferenceDlg IVsAddWebReferenceDlg 是的 是的 显示 “添加引用 ”对话框。
SVsAppCommandLine IVsAppCommandLine 是的 是的 使 VSPackage 能够确定是否为 devenv.exe提供了命令行开关。
SVsCallBrowser IVsCallBrowser 是的 使 VSPackage 能够创建新的用于调试的 呼叫浏览器
SVsClassView IVsClassView 是的 是的 使 VSPackage 能够将 类视图 同步到特定对象。
SVsCmdNameMapping IVsCmdNameMapping 是的 是的 支持将命令名称映射到 GUID,并返回并确定所有可用命令和名称的名称。
SVsCodeDefView IVsCodeDefView 是的 使 VSPackage 能够作 代码定义视图
SVsCodeShareHandler IVsCodeShareHandler 是的 是的 内部服务。 请勿使用。
SVsCodeWindow IVsCodeWindow 是的 是的 提供对可包含一个或多个文档的代码窗口的访问权限。
SVsCodeWindowManager IVsCodeWindowManager 是的 是的 允许 VSPackage 将更改添加到代码窗口,例如下拉条。
SVsCommandWindow IVsCommandWindow

IVsCommandWindow2
是的 是的 允许 VSPackage 通过 命令窗口 运行命令,否则与 命令窗口交互。
SVsCommandWindowsCollection IVsCommandWindowsCollection 是的 使 VSPackage 能够作 Visual Studio 维护的 命令 窗口列表。
SVsComplusLibrary IVsLibraryReferenceManager 是的 是的 使 VSPackage 能够向 对象浏览器提供浏览信息。
SVsComponentSelectorDlg IVsComponentSelectorDlg 是的 使 VSPackage 能够支持 “添加引用 ”选项,使用户可以选择要添加到项目的外部组件。
SVsComponentSelectorDlg2 IVsComponentSelectorDlg2 是的 使 VSPackage 能够支持 “添加引用 ”选项,使用户可以选择要添加到项目的外部组件。 此版本的对话框允许在显示组件列表之前预先填充组件列表。
SVsConfigurationManagerDlg IVsConfigurationManagerDlg 是的 显示 “Configuration Manager ”对话框。
SVsCreateAggregateProject IVsCreateAggregateProject 是的 使 VSPackage 能够创建包含其他项目的集合的项目。
SVsDebuggableProtocol IVsDebuggableProtocol 是的 是的 使 VSPackage 能够更新 IDE 用于启动特定调试引擎的可调试协议列表。
SVsDebugLaunch IVsDebugLaunch 是的 是的 允许 VSPackage 支持启动调试器。
SVsDiscoveryService IVsDiscoveryService 是的 是的 使 VSPackage 能够创建用于发现 Web 服务的发现会话。
SVsEnumHierarchyItemsFactory IVsEnumHierarchyItemsFactory 是的 是的 提供一个工厂,用于创建 IVsEnumHierarchyItemsFactory 用于枚举指定层次结构(项目)的对象。
SVsErrorList IVsErrorList 是的 提供用于作 生成错误列表 任务窗口的其他方法。 具体而言,将 “生成错误列表 ”任务窗口引入最前沿,并强制显示所有错误。
SVsExternalFilesManager IVsExternalFilesManager 是的 是的 提供对当前解决方案的 “杂项文件” 项目节点的访问权限。
SVsFileChange 是的 是的 已过时。 请改用 SVsFileChangeEx 服务。
SVsFileChangeEx IVsFileChangeEx 是的 是的 使 VSPackage 能够访问 IDE 触发的各种文件更改事件。
SVsFilterAddProjectItemDlg IVsFilterAddProjectItemDlg 是的 是的 允许 VSPackage 筛选在 “添加项 ”对话框中显示的项目。
SVsFilterKeys IVsFilterKeys 是的 是的 使 VSPackage 能够执行高级键盘筛选。
SVsFontAndColorCacheManager IVsFontAndColorCacheManager 是的 提供对 Visual Studio 中字体和颜色的缓存集的访问权限,以刷新或清除特定缓存或所有缓存。
SVsFontAndColorStorage IVsFontAndColorStorage

IVsFontAndColorUtilities
是的 是的 使 VSPackage 能够作 Visual Studio 维护的字体和颜色设置。 此外,此服务还提供对用于作字体和颜色数据的实用工具方法集合的访问权限。
SVsGeneralOutputWindowPane IVsOutputWindowPane 是的 是的 提供对常规 “输出窗口 ”窗格的访问权限,并根据需要创建它。
SVsHelpService IVsHelpSystem 是的 是的 提供对帮助系统的访问权限。
SVsHTMLConverter IVsHTMLConverter 是的 是的 由 Visual Studio 调试器用来处理 HTML 以格式化其输出。
SVsIME IVsIME 是的 是的 从 VSPackage 中提供对输入法编辑器 (IME) API 的访问权限。
SVsIntegratedHelp SVsHelp 是的 是的 提供对 Visual Studio 帮助系统的访问权限,以便进行关键字或 URL 访问,以及通过帮助文件进行导航控制。 仅当帮助集成到 Visual Studio IDE 中且未作为外部程序运行时,此服务才可用。
SVsIntelliMouseHandler IVsIntelliMouseHandler 是的 是的 使 VSPackage 能够访问 IntelliMouse 功能,例如使用鼠标滚轮并在单击鼠标滚轮时处理滚动和平移位图。
SVsIntellisenseEngine IVsIntellisenseEngine 是的 使项目层次结构节点能够加载或卸载文件,作为 IntelliSense作支持的一部分。 加载和卸载触发器事件的过程可能会影响项目的 IntelliSense 工具提示中显示的事件。
SVsIntellisenseProjectHost IVsIntellisenseProjectHost 是的 使项目层次结构节点能够提供有关可在 IntelliSense 工具提示中显示的嵌套 IntelliSense 项目(实现 IVsIntellisenseProject 接口)的信息。
SVsIntellisenseProjectManager IVsIntellisenseProjectManager 是的 使项目层次结构节点能够向侦听器提供事件建议,例如引用或配置中的更改,这可能会影响 IntelliSense 工具提示中显示的内容。 设计为与包含语言一起使用。
SVsInvisibleEditorManager IVsInvisibleEditorManager 是的 是的 使 VSPackage 能够注册“不可见”编辑器,即提供完整编辑功能的编辑器,但对用户不可见。
SVsLanguageFilter IVsTextViewFilter 是的 是的 使 VSPackage 能够向文本视图提供其他信息,例如数据提示和字词范围。
SVsLaunchPad IVsLaunchPad 是的 是的 使 VSPackage 能够执行临时批处理脚本、执行其输出发送到输出窗格的命令行程序,以及分析发送到错误窗口的标准警告和错误消息。
SVsLaunchPadFactory IVsLaunchPadFactory 是的 是的 提供用于创建 IVsLaunchPad 对象的工厂。
SVsLinkedUndoTransactionManager IVsLinkedUndoTransactionManager 是的 是的 提供对链接撤消管理器的访问权限。
SVsMenuEditor IVsMenuEditorFactory 是的 是的 使表单设计器能够访问共享菜单编辑器。 可以查询 IVsMenuEditorIVsMenuEditorFactory。
SVsMonitorUserContext IVsMonitorUserContext 是的 是的 使 VSPackage 能够创建一个“上下文包”,该包用于关联特定上下文的 Help 关键字。
SVsObjBrowser IVsObjBrowser 是的 是的 使 VSPackage 能够导航到 对象浏览器中的特定对象。
SVsObjectManager IVsObjectManager 是的 是的 使 VSPackage 能够向 Visual Studio 注册其库管理器,以便管理命名空间、类和枚举等对象。
SVsObjectSearch IVsObjectSearch 是的 是的 允许 VSPackage 搜索特定对象。
SVsOpenProjectOrSolutionDlg IVsOpenProjectOrSolutionDlg 是的 允许 VSPackage 使用标准 Visual Studio 对话框打开项目或解决方案。
SVsOutputWindow IVsOutputWindow 是的 是的 允许 VSPackage 在常规输出窗口中创建其他输出窗格。
SVsParseCommandLine IVsParseCommandLine 是的 是的 使接口的 IOleCommandTarget 实现者能够分析命令行。
SVsPathVariableResolver IVsPathVariableResolver 是的 提供一种方法来解析特定于 Visual Studio 的变量,以及嵌入在路径中以生成最终路径的变量。
SVsPreviewChangesService IVsPreviewChangesService 是的 显示重构代码中使用的 “预览更改 ”对话框。
SVsProfileDataManager IVsProfileDataManager 是的 提供对 Visual Studio 的配置文件管理器的访问权限,该管理器允许导入和导出设置数据,以及显示当前用户配置文件设置的 UI。
SVsProfilesManagerUI IVsProfilesManagerUI 是的 显示显示当前用户配置文件设置的对话框。
SVsPropertyPageFrame IVsPropertyPageFrame 是的 是的 使 VSPackage 能够替代最初显示在 “属性” 窗口中的属性页。
SVsQueryEditQuerySave IVsQueryEditQuerySave2 是的 VSPackages 用来通知源代码管理提供程序文件即将在内存中更改或保存。
SVsRegisterDebugTargetProvider IVsRegisterProjectDebugTargetProvider 是的 使 VSPackage 项目能够以编程方式替代目标以在调试器中启动。
SVsRegisterEditors IVsRegisterEditors 是的 是的 使 VSPackage 能够向 IDE 注册编辑器工厂。
SVsRegisterFindScope IVsRegisterFindScope 是的 允许 VSPackage 为“ 在文件中查找 ”对话框注册搜索范围。
SVsRegisterPriorityCommandTarget IVsRegisterPriorityCommandTarget 是的 是的 使 VSPackage 能够将自身注册为高优先级命令处理程序,从而允许 VSPackage 查看所有命令。 请谨慎使用(如果有)。
SVsRegisterProjectTypes IVsRegisterProjectTypes 是的 是的 使 VSPackage 能够向 IDE 注册项目类型。
SVsResourceManager IVsResourceManager 是的 使 VSPackage 能够从附属 DLL 加载托管和非托管资源。
SVsResourceView IVsResourceView 是的 是的 请改用 SVsClassView 服务。
SVsRunningDocumentTable IVsRunningDocumentTable 是的 是的 提供对跟踪所有当前打开的文档的 IDE 正在运行的文档表(RDT)的访问权限。
SVsSccManager IVsSccManager2 是的 使 VSPackages 能够向源代码管理提供程序注册自己,以便他们可以参与源代码管理。
SVsSccToolsOptions IVsSccToolsOptions 是的 是的 允许 VSPackage 获取和设置源代码管理提供程序选项。
SVsSettingsReader IVsSettingsReader 是的 提供对用户配置文件设置的读取访问权限。
SVsShell IVsShell 是的 是的 使 VSPackage 能够直接与其他 VSPackage 交互和作。
SVsShellDebugger IVsDebugger 是的 是的 提供对 Visual Studio 调试器的访问权限。
SVsShellMonitorSelection IVsMonitorSelection 是的 是的 使 VSPackage 能够访问当前选择并管理命令 UI 上下文。
SVSMDCodeDomProvider IVSMDCodeDomProvider 是的 提供对可在本机代码中使用的代码文档对象模型(DOM)提供程序的访问。
SVSMDDesignerService IVSMDCodeDomCreator

IVSMDDesignerService
是的 提供对托管表单设计器的 IDE 支持的访问权限。 IVSMDCodeDomCreator可用于创建代码 DOM 提供程序。
SVSMDPropertyBrowser IVSMDPropertyBrowser 是的 提供对设计器属性窗口服务的访问权限。
SVSMDTypeResolutionService IVSMDTypeResolutionService 是的 提供对可返回 ITypeResolutionService 本机代码中可用对象的接口的访问。
SVsSmartOpenScope IVsSmartOpenScope 是的 提供一种方法来打开程序集上的作用域,并根据需要考虑锁定。
SVsSolution IVsSolution 是的 是的 提供对当前解决方案的顶级访问权限。
SVsSolutionBuildManager IVsSolutionBuildManager 是的 是的 使 VSPackage 能够与解决方案的生成过程进行交互。
SVsSolutionObject IVsSolution 是的 是的 请改用该服务 SVsSolution
SVsSolutionPersistence IVsSolutionPersistence 是的 是的 使 VSPackage 能够存储和检索当前解决方案.sln文件中的信息。
SVsSQLCLRReferences IVsSQLCLRReferences 是的 提供在托管代码程序集中添加和更新引用的功能。
SVsStartPageDownload IVsStartPageDownload 是的 提供对 Visual Studio 2017 起始页下载服务的访问权限,以便在后台线程上启动和停止下载服务。
SVsStatusbar IVsStatusbar 是的 是的 提供对 IDE 状态栏的访问权限。
SVsStrongNameKeys IVsStrongNameKeys 是的 提供对使用密码创建强密钥名称和密钥文件的方法的访问权限,这些密码用于对托管代码程序集进行签名。
SVsStructuredFileIO IVsStructuredFileIO 是的 是的 使 VSPackage 能够支持以多种格式保存数据。
SVsTaskList IVsTaskList 是的 是的 提供访问 IDE 的任务列表窗口。
SVsTextImageUtilities IVsTextImageUtilities 是的 提供用于加载和保存文本文件的实用工具。
SVsTextManager IVsTextManager

IVsHiddenTextManager
是的 是的 提供对 IDE 中提供的所有文本缓冲区以及隐藏文本会话(对于隐藏区域)的访问。
SVsTextOut IVsTextOut 是的 是的 提供 Win32 TextOut 函数的版本,用于将文本写入设备上下文(需要 DC 句柄)。
SVsTextSpanSet IVsTextSpanSet 是的 是的 提供对文本图像或缓冲区中文本跨度列表的访问。 此服务通常在文档容器上实现,并引用当前文档。
SVsThreadedWaitDialog IVsThreadedWaitDialog 是的 使 VSPackage 能够显示一个对话框,该对话框在不同线程上等待(用于等待后台任务)。
SVsThreadPool IVsThreadPool 是的 使 VSPackage 能够启动由 Visual Studio 维护的后台任务。
SVsToolbox IVsToolbox 是的 是的 提供对 IDE 工具箱的访问权限。
SVsToolboxActiveXDataProvider IVsToolboxDataProvider 是的 是的 允许 VSPackage 从 工具箱 项获取信息。
SVsToolboxDataProviderRegistry IVsToolboxDataProviderRegistry 是的 使 VSPackage 能够注册工具箱数据提供程序,而不会产生预加载整个 工具箱的性能成本。
SVsToolsOptions IVsToolsOptions 是的 使 VSPackage 能够确定 “选项 ”对话框是否打开并刷新所有选项页面的可见性。
SVsTrackProjectDocuments IVsTrackProjectDocuments2

IVsTrackProjectDocuments3
是的 使 VSPackage 能够监视项目文件中的更改,并提供对源代码管理提供程序的批量控制。
SVsTrackSelectionEx IVsTrackSelectionEx 是的 是的 使 VSPackage 能够通知 IDE 对可能影响当前所选项目项的选择的更改。
SVsUIHierWinClipboardHelper IVsUIHierWinClipboardHelper 是的 是的 允许层次结构(如项目 VSPackage)与其他层次结构协调剪贴板的使用。
SVsUIShell IVsUIShell 是的 是的 提供对 IDE UI 元素(如工具窗口和文档窗口)的访问。
SVsUIShellDocumentWindowMgr IVsUIShellDocumentWindowMgr 是的 是的 使 VSPackage 能够基于数据流的内容还原所有窗口的位置,或将所有窗口的位置保存到流中。 很少使用。
SVsUIShellOpenDocument IVsUIShellOpenDocument 是的 是的 使 VSPackage 能够以多种方式打开文档,并确定谁拥有哪些文档。
SVsUpgradeLogger IVsUpgradeLogger 是的 接口的实现者 IVsProjectUpgradeViaFactory 用来报告错误和信息性消息。
SVsWebBrowsingService IVsWebBrowsingService 是的 是的 使 VSPackage 能够创建和控制 Web 浏览会话。
SVsWebFavorites IVsWebFavorites 是的 是的 允许 VSPackage 添加到用户的 收藏夹 列表。
SVsWebPreview IVsWebPreview 是的 是的 允许 VSPackage 预览网页,通常位于子窗口中。
SVsWebURLMRU IVsWebURLMRU 是的 是的 允许 VSPackage 将 URL 添加到最近使用的 URL 列表,并获取 MRU 列表中所有 URL 的列表。
SVsWindowFrame IVsWindowFrame 是的 是的 使 VSPackage 能够获取包或包的一部分可能位于的窗口框架。
SVsXMLMemberIndexService IVsXMLMemberIndexService 是的 是的 提供对与特定元数据文件关联的 XML 格式的文档文件的访问权限。

另请参阅