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
public ref class AsyncPackage abstract : Microsoft::VisualStudio::Shell::Package, Microsoft::VisualStudio::Shell::IAsyncServiceContainer, Microsoft::VisualStudio::Shell::IAsyncServiceProvider2, Microsoft::VisualStudio::Shell::Interop::COMAsyncServiceProvider::IAsyncServiceProvider, Microsoft::VisualStudio::Shell::Interop::IAsyncLoadablePackageInitialize, 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)]
public abstract class AsyncPackage : Microsoft.VisualStudio.Shell.Package, Microsoft.VisualStudio.Shell.IAsyncServiceContainer, Microsoft.VisualStudio.Shell.IAsyncServiceProvider2, Microsoft.VisualStudio.Shell.Interop.COMAsyncServiceProvider.IAsyncServiceProvider, Microsoft.VisualStudio.Shell.Interop.IAsyncLoadablePackageInitialize, 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)

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

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

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

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

Create具有指定 ID 的指定类型的工具窗口。 这是唯一应调用 IVsUiShell.CreateToolWindow ()

(继承自 Package)
Dispose(Boolean)

释放 对象和关联的取消令牌。

FindToolWindow(Type, Int32, Boolean)

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

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

异步查找与指定类型和 ID 对应的工具窗口。 如果不存在,则创建并返回一个 (如果为 true),如果 createcreate 为 false,则返回 null。

FindWindowPane(Type, Int32, Boolean)

获取对应于指定类型和 ID 的窗口窗格,如果不存在该类型的窗口窗格,则创建一个窗口窗格(如果被告知这样做)。

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

异步查找与指定类型和 ID 对应的窗口窗格。 如果不存在,则创建并返回一个 (如果为 true),如果 createcreate 为 false,则返回 null。

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)

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

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

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

Initialize()

密封此方法。 由于几乎不可避免的死锁风险,SetSite (在 UI 线程上仍会出现初始化) ,即使对于异步包也是如此。 由于大多数异步包作者在逻辑上会假设初始化发生在 b/g 线程上,因此,他们可能会执行成本高昂的 (同步) 替代内的内容,从而破坏异步负载的一些优势。 为了帮助他们摆脱这种限制,我们将密封它,因此他们可以替代的只是异步初始化,这是在 b/g 线程上调用的。

InitializeAsync(CancellationToken, IProgress<ServiceProgressData>)

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

InitializeToolWindowAsync(Type, Int32, CancellationToken)

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

InstantiateToolWindow(Type)

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

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

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

(继承自 Package)
IsLocalService(Type)

确定是否可以在不需要 RPC 转换到 UI 线程的情况下检索指定的服务类型。

(继承自 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),如果 createcreate 为 false,则返回 null。

事件

ToolboxInitialized

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

(继承自 Package)
ToolboxUpgraded

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

(继承自 Package)

显式接口实现

IAsyncLoadablePackageInitialize.Initialize(IAsyncServiceProvider, IProfferAsyncService, IAsyncProgressCallback)

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

IAsyncLoadablePackageInitialize.Initialize(IAsyncServiceProvider, IProfferAsyncService, IAsyncProgressCallback)

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

IAsyncServiceProvider.QueryServiceAsync(Guid)

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

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)

调用 以询问 VSPackage 是否可以关闭 Visual Studio shell。

(继承自 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)

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

(继承自 Package)
IVsToolWindowFactory.CreateToolWindow(Guid, UInt32)

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

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

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

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

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

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

从以前的版本迁移设置。

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

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

(继承自 Package)

扩展方法

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

将指定类型实现的服务传递给异步服务容器。 首次查询服务时,将调用 函数 creator 。 提供的服务将提升为父异步服务容器。

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

将指定类型实现的服务传递给异步服务容器。 首次查询服务时,将调用 函数 creator

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

将指定类型实现的服务传递给异步服务容器。 首次查询服务时,将调用 函数 creator 。 提供的服务将提升为父异步服务容器。

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

将指定类型实现的服务传递给异步服务容器。 首次查询服务时,将调用 函数 creator

QueryService(IServiceProvider, Guid)

获取由服务提供商基于其服务 GUID 公开的服务。

QueryService<TService>(IServiceProvider)

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

GetServiceAsync<TService,TInterface>(IAsyncServiceProvider)

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

GetServiceAsync<TService,TInterface>(IAsyncServiceProvider, Boolean)

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

适用于