AsyncPackage 类

定义

表示可处理异步服务的 VSPackage。

public ref class AsyncPackage abstract : Microsoft::VisualStudio::Shell::Package, Microsoft::VisualStudio::Shell::IAsyncServiceContainer, Microsoft::VisualStudio::Shell::IAsyncServiceProvider, Microsoft::VisualStudio::Shell::Interop::IAsyncLoadablePackageInitialize, Microsoft::VisualStudio::Shell::Interop::IAsyncServiceProvider
public ref class AsyncPackage abstract : Microsoft::VisualStudio::Shell::Package, Microsoft::VisualStudio::Shell::IAsyncServiceContainer, Microsoft::VisualStudio::Shell::IAsyncServiceProvider2, Microsoft::VisualStudio::Shell::Interop::IAsyncLoadablePackageInitialize, Microsoft::VisualStudio::Shell::Interop::IAsyncServiceProvider, Microsoft::VisualStudio::Shell::Interop::IVsAsyncToolWindowFactory, Microsoft::VisualStudio::Shell::Interop::IVsAsyncToolWindowFactoryProvider
[Windows::Foundation::Metadata::WebHostHidden]
public ref class AsyncPackage abstract : Microsoft::VisualStudio::Shell::Package, Microsoft::VisualStudio::Shell::IAsyncServiceContainer, Microsoft::VisualStudio::Shell::IAsyncServiceProvider, Microsoft::VisualStudio::Shell::IAsyncServiceProvider2, Microsoft::VisualStudio::Shell::Interop::IAsyncLoadablePackageInitialize, Microsoft::VisualStudio::Shell::Interop::IAsyncServiceProvider, Microsoft::VisualStudio::Shell::Interop::IVsAsyncToolWindowFactory, Microsoft::VisualStudio::Shell::Interop::IVsAsyncToolWindowFactoryProvider
[Windows::Foundation::Metadata::WebHostHidden]
class AsyncPackage abstract : Microsoft::VisualStudio::Shell::Package, Microsoft::VisualStudio::Shell::IAsyncServiceContainer, Microsoft::VisualStudio::Shell::IAsyncServiceProvider, Microsoft::VisualStudio::Shell::IAsyncServiceProvider2, Microsoft::VisualStudio::Shell::Interop::IAsyncLoadablePackageInitialize, Microsoft::VisualStudio::Shell::Interop::IAsyncServiceProvider, Microsoft::VisualStudio::Shell::Interop::IVsAsyncToolWindowFactory, Microsoft::VisualStudio::Shell::Interop::IVsAsyncToolWindowFactoryProvider
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class AsyncPackage : Microsoft.VisualStudio.Shell.Package, Microsoft.VisualStudio.Shell.IAsyncServiceContainer, Microsoft.VisualStudio.Shell.IAsyncServiceProvider, Microsoft.VisualStudio.Shell.Interop.IAsyncLoadablePackageInitialize, Microsoft.VisualStudio.Shell.Interop.IAsyncServiceProvider
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class AsyncPackage : Microsoft.VisualStudio.Shell.Package, Microsoft.VisualStudio.Shell.IAsyncServiceContainer, Microsoft.VisualStudio.Shell.IAsyncServiceProvider2, Microsoft.VisualStudio.Shell.Interop.IAsyncLoadablePackageInitialize, Microsoft.VisualStudio.Shell.Interop.IAsyncServiceProvider, Microsoft.VisualStudio.Shell.Interop.IVsAsyncToolWindowFactory, Microsoft.VisualStudio.Shell.Interop.IVsAsyncToolWindowFactoryProvider
[<System.Runtime.InteropServices.ComVisible(true)>]
type AsyncPackage = class
    inherit Package
    interface IAsyncServiceProvider
    interface IAsyncLoadablePackageInitialize
    interface IAsyncServiceProvider
    interface IAsyncServiceContainer
[<System.Runtime.InteropServices.ComVisible(true)>]
type AsyncPackage = class
    inherit Package
    interface IAsyncServiceProvider
    interface IAsyncLoadablePackageInitialize
    interface IAsyncServiceProvider2
    interface IAsyncServiceProvider
    interface IAsyncServiceContainer
    interface IVsAsyncToolWindowFactory
    interface IVsAsyncToolWindowFactoryProvider
Public MustInherit Class AsyncPackage
Inherits Package
Implements IAsyncLoadablePackageInitialize, IAsyncServiceContainer, IAsyncServiceProvider, IAsyncServiceProvider
Public MustInherit Class AsyncPackage
Inherits Package
Implements IAsyncLoadablePackageInitialize, IAsyncServiceContainer, IAsyncServiceProvider, IAsyncServiceProvider2, IVsAsyncToolWindowFactory, IVsAsyncToolWindowFactoryProvider
继承
AsyncPackage
派生
属性
实现

构造函数

AsyncPackage()

AsyncPackage 默认构造函数。

属性

ApplicationRegistryRoot

获取当前 Visual Studio 注册表配置单元的根注册表项。

(继承自 Package)
DisposalToken

公开 CancellationToken 可用于检查包是否已释放的。 当 Visual Studio 开始关闭时,在后台线程上运行的异步任务可能会发生这种情况。 用于 ShutdownToken 前面的指示,因为 VS 正在关闭。

JoinableTaskCollection

获取此包启动的异步任务的集合。

JoinableTaskFactory

获取要用于此包启动的异步任务的工厂。

UserDataPath

获取 Visual Studio 的用户数据存储的路径。

(继承自 Package)
UserLocalDataPath

获取 Visual Studio 的本地用户数据存储的路径。

(继承自 Package)
UserRegistryRoot

获取可用于存储用户数据的注册表项。

(继承自 Package)
Zombied

获取一个值,该值指示包是否处于关闭过程中。

(继承自 Package)

方法

AddOptionKey(String)

将用户选项密钥名称添加到选项密钥列表。

(继承自 Package)
AddService(Type, AsyncServiceCreatorCallback)

将异步服务添加到此包。 此服务在此包外不可见。

AddService(Type, AsyncServiceCreatorCallback, Boolean)

将异步服务添加到此包。 此服务可能会在此包之外显示,具体取决于的值 promote

AddService(Type, AsyncServiceCreatorWithProgressCallback)

将异步服务添加到此包中,在初始化期间支持进度更新。 此服务在此包外不可见。

AddService(Type, AsyncServiceCreatorWithProgressCallback, Boolean)

将异步服务添加到此包中,在初始化期间支持进度更新。 此服务可能会在此包之外显示,具体取决于的值 promote

CreateInstance(Guid, Guid, Type)

使用 Visual Studio 的本地注册表 CLSID 对象创建指定的 COM 对象。

(继承自 Package)
CreateTool(Guid)

允许派生类提供实现(如有必要)。

(继承自 Package)
CreateToolWindow(Guid, Int32)

创建具有指定 ID 的指定类型的工具窗口。

(继承自 Package)
CreateToolWindow(Type, Int32)

创建具有指定 ID 的指定类型的工具窗口。

(继承自 Package)
CreateToolWindow(Type, Int32, Object)

使用指定的 ID 创建指定类型的工具窗口。

(继承自 Package)
CreateToolWindow(Type, Int32, UInt32)

创建具有指定 ID 的指定类型的工具窗口。

(继承自 Package)
CreateToolWindow(Type, Int32, UInt32, Object, Guid)

使用指定的 ID 创建指定类型的工具窗口。 这是应调用 IVsUiShell 的唯一方法。 CreateToolWindow ()

(继承自 Package)
Dispose(Boolean)

释放对象和关联的取消标记。

FindToolWindow(Type, Int32, Boolean)

获取与指定的类型和 ID 相对应的工具窗口。

(继承自 Package)
FindToolWindowAsync(Type, Int32, Boolean, CancellationToken)

异步查找与指定的类型和 ID 相对应的工具窗口。 如果为 true,则它将创建并返回一个,如果 create 为 false,则返回 null create

FindWindowPane(Type, Int32, Boolean)

获取与指定的类型和 ID 相对应的窗口窗格,如果不存在该类型的窗口窗格,则创建一个窗口窗格,前提是这样做。

(继承自 Package)
FindWindowPaneAsync(Type, Int32, Boolean, CancellationToken)

以异步方式定位与指定的类型和 ID 相对应的窗口窗格。 如果为 true,则它将创建并返回一个,如果 create 为 false,则返回 null create

GetAsyncToolWindowFactory(Guid)

toolWindowType如果工具窗口支持异步创建,则返回由标识的工具窗口的异步工具窗口工厂接口。 如果不支持异步创建,则返回 null。

GetAutomationObject(String)

获取 VSPackage 的自动化对象。

(继承自 Package)
GetDialogPage(Type)

获取请求的对话框页。

(继承自 Package)
GetOutputPane(Guid, String)

获取请求的输出窗口。

(继承自 Package)
GetProviderLocale()

返回与此服务提供程序相关联的区域设置。

(继承自 Package)
GetService(Type)

检索向此包注册的服务。 此方法是同步的,甚至异步服务也会以同步方式检索。

GetServiceAsync(Type)

检索异步服务。

GetServiceAsync(Type, Boolean)

检索异步服务,但允许调用方提示不需要吞并异常。 但不保证会引发异常,但对于故障情况也是如此。

GetToolboxItemData(String, DataFormats+Format)

获取指定工具箱项 ID 和数据格式的数据格式的内容。

(继承自 Package)
GetToolboxItemDataAsync(String, DataFormats+Format) (继承自 Package)
GetToolWindowTitle(Type, Int32)

返回要用于工具窗口的标题字符串。 如果返回 null,则工具窗口的类型名称将用于标题。

Initialize()

密封此方法。 由于死锁的风险几乎是不可避免的,SetSite (这是调用 Initialize 的) 仍会在 UI 线程上出现,即使对于异步包也是如此。 由于大多数异步包作者都以逻辑方式假定在 b/g 线程上进行初始化,因此,它们可能会在其替代) (同步操作,从而摆异步加载的一些优点。 为帮助您解决问题,我们将对其进行密封,因此它们可以重写的全部都是异步初始化,在 b/g 线程上调用。

InitializeAsync(CancellationToken, IProgress<ServiceProgressData>)

包初始化过程的异步初始化部分。 此方法是从后台线程调用的。

InitializeToolWindowAsync(Type, Int32, CancellationToken)

执行初始化,以便准备创建由标识的工具窗口 toolWindowType

InstantiateToolWindow(Type) (继承自 Package)
InstantiateToolWindow(Type, Object)

构造指定类型的工具窗口。

(继承自 Package)
IsLocalService(Type)

确定是否可以检索指定的服务类型,而不需要对 UI 线程进行 RPC 转换。

(继承自 Package)
OnAfterPackageLoadedAsync(CancellationToken)

当被派生类型重写时,可能会启动带有副作用的操作,这些操作不是属于属于的包加载的一部分, InitializeAsync(CancellationToken, IProgress<ServiceProgressData>) 而是应在包加载之后立即发生, (例如,更新命令状态) 。

OnLoadOptions(String, Stream)

当存在要从解决方案文件中读取的选项时,由包类调用。

(继承自 Package)
OnSaveOptions(String, Stream)

Package当存在要保存到解决方案文件中的选项时,由类调用。

(继承自 Package)
ParseToolboxResource(TextReader, Guid)

分析相应格式的嵌入文本资源,以获取有关应添加到 "工具箱" 的项的信息。

(继承自 Package)
ParseToolboxResource(TextReader, ResourceManager)

分析相应格式的嵌入文本资源,以获取有关应添加到 "工具箱" 的项的信息。

(继承自 Package)
QueryClose(Boolean)

如果 shell 可以关闭,则调用以询问包。

(继承自 Package)
RegisterEditorFactory(IVsEditorFactory)

使用 Visual Studio 注册编辑器工厂。

(继承自 Package)
RegisterProjectFactory(IVsProjectFactory)

使用 Visual Studio 注册项目工厂。

(继承自 Package)
RemoveService(Type)

删除已向此包注册的异步服务。

RemoveService(Type, Boolean)

删除已向此包注册的异步服务。

ShowOptionPage(Type)

显示指定的 "工具选项" 页。

(继承自 Package)
ShowToolWindowAsync(Type, Int32, Boolean, CancellationToken)

异步显示与指定的类型和 ID 相对应的工具窗口。 如果为 true,则它将创建并返回一个,如果 create 为 false,则返回 null create

事件

ToolboxInitialized

每当 Visual Studio 初始化其工具箱时生成的事件。

(继承自 Package)
ToolboxUpgraded

每当 Visual Studio 升级其工具箱时生成的事件。

(继承自 Package)

显式接口实现

IAsyncLoadablePackageInitialize.Initialize(IAsyncServiceProvider, IProfferAsyncService, IAsyncProgressCallback)

SetSite 的异步版本,从 b/g 线程调用。

IAsyncServiceProvider.QueryServiceAsync(Guid)

获取此包提供的异步初始化服务。

IOleCommandTarget.Exec(Guid, UInt32, UInt32, IntPtr, IntPtr)

执行指定的命令或显示命令的帮助。

(继承自 Package)
IOleCommandTarget.QueryStatus(Guid, UInt32, OLECMD[], IntPtr)

查询该对象以获得由用户界面事件生成的一个或多个命令的状态。

(继承自 Package)
IServiceContainer.AddService(Type, Object)

将给定的服务添加到 VSPackage 的服务容器。

(继承自 Package)
IServiceContainer.AddService(Type, Object, Boolean)

将给定的服务添加到 VSPackage 的服务容器。

(继承自 Package)
IServiceContainer.AddService(Type, ServiceCreatorCallback)

将给定的服务添加到 VSPackage 的服务容器。

(继承自 Package)
IServiceContainer.AddService(Type, ServiceCreatorCallback, Boolean)

通过指定的方式将给定的服务添加到服务容器中 ServiceCreatorCallback

(继承自 Package)
IServiceContainer.RemoveService(Type)

从服务容器中移除给定的服务类型。

(继承自 Package)
IServiceContainer.RemoveService(Type, Boolean)

从服务容器中删除给定的服务类型,并根据需要将服务删除提升为父服务容器。

(继承自 Package)
IServiceProvider.GetService(Type)

获取指定类型的服务。

(继承自 Package)
IServiceProvider.QueryService(Guid, Guid, IntPtr)

内部 IServiceProvider 实现。

(继承自 Package)
IVsAsyncToolWindowFactory.CreateToolWindow(Guid, UInt32, Object)

创建具有指定 ID 的指定类型的工具窗口。

IVsAsyncToolWindowFactory.GetToolWindowTitle(Guid, UInt32)

返回要用于工具窗口的标题字符串。 如果返回 null,则工具窗口的类型名称将用于标题。

IVsAsyncToolWindowFactory.InitializeToolWindowAsync(Guid, UInt32)

执行初始化,以便准备创建由标识的工具窗口 toolWindowType

IVsPackage.Close()

关闭并释放包。

(继承自 Package)
IVsPackage.GetAutomationObject(String, Object)

获取此包的自动化友好对象。

(继承自 Package)
IVsPackage.GetPropertyPage(Guid, VSPROPSHEETPAGE[])

提供访问 "工具" 菜单选项和 "自定义工具箱" 对话框的属性页。

(继承自 Package)
IVsPackage.QueryClose(Int32)

如果可以关闭 Visual Studio shell,则调用以询问 VSPackage。

(继承自 Package)
IVsPackage.ResetDefaults(UInt32)

重置工具箱默认值。

(继承自 Package)
IVsPackage.SetSite(IServiceProvider)

初始化 Visual Studio 环境中的 VSPackage。

(继承自 Package)
IVsPersistSolutionOpts.LoadUserOptions(IVsSolutionPersistence, UInt32)

为给定解决方案加载用户选项。

(继承自 Package)
IVsPersistSolutionOpts.ReadUserOptions(IStream, String)

读取给定解决方案的用户选项。

(继承自 Package)
IVsPersistSolutionOpts.SaveUserOptions(IVsSolutionPersistence)

为给定解决方案保存用户选项。

(继承自 Package)
IVsPersistSolutionOpts.WriteUserOptions(IStream, String)

为给定解决方案编写用户选项。

(继承自 Package)
IVsToolboxItemProvider.GetItemContent(String, UInt16, IntPtr)

获取项。

(继承自 Package)
IVsToolboxItemProvider2.GetItemContentAsync(String, UInt16) (继承自 Package)
IVsToolWindowFactory.CreateToolWindow(Guid, UInt32)

创建具有指定 ID 的指定类型的工具窗口。

(继承自 Package)
IVsUserSettings.ExportSettings(String, IVsSettingsWriter)

此方法实现 IVsUserSettings 接口,该接口用于管理配置文件以及将设置导入/导出到 XML 文件。

(继承自 Package)
IVsUserSettings.ImportSettings(String, IVsSettingsReader, UInt32, Int32)

当用户在 IDE 的 "工具" 菜单上选择 "导入/导出设置" 功能的导入选项时,使用 Visual Studio 设置机制来检索 VSPackage 的配置。 此方法是 IVsUserSettings 用于管理配置文件以及将设置导入/导出到 XML 文件的接口实现的一部分。

(继承自 Package)
IVsUserSettingsMigration.MigrateSettings(IVsSettingsReader, IVsSettingsWriter, String)

从以前的版本迁移设置。

(继承自 Package)
IVsUserSettingsQuery.NeedExport(String, Int32)

确定设置是否已更改并应重新导出。

(继承自 Package)

扩展方法

ProfferService<TService>(IAsyncServiceContainer, Func<CancellationToken,Task<Object>>)

提供由指定类型实现的服务部署到异步服务容器。 第一次查询服务时, creator 将调用函数。 提供服务将提升为父 async service 容器。

ProfferService<TService>(IAsyncServiceContainer, Func<CancellationToken,Task<Object>>, Boolean)

提供由指定类型实现的服务部署到异步服务容器。 第一次查询服务时, creator 将调用函数。

ProfferService<TService>(IAsyncServiceContainer, Func<Task<Object>>)

提供由指定类型实现的服务部署到异步服务容器。 第一次查询服务时, creator 将调用函数。 提供服务将提升为父 async service 容器。

ProfferService<TService>(IAsyncServiceContainer, Func<Task<Object>>, Boolean)

提供由指定类型实现的服务部署到异步服务容器。 第一次查询服务时, creator 将调用函数。

QueryService(IServiceProvider, Guid)

根据服务提供程序的服务类型获取服务提供程序公开的服务。

QueryService<TService>(IServiceProvider)

根据服务提供程序的服务类型获取服务提供程序公开的服务。

GetServiceAsync<TService,TInterface>(IAsyncServiceProvider)

从服务提供程序异步获取服务接口。

GetServiceAsync<TService,TInterface>(IAsyncServiceProvider, Boolean)

从服务提供程序异步获取服务接口。

适用于