AsyncPackage 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示可以处理异步服务的 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
- 继承
- 派生
- 属性
- 实现
-
IAsyncServiceContainer IAsyncServiceProvider IAsyncLoadablePackageInitialize IAsyncServiceProvider IAsyncServiceProvider2 IVsAsyncToolWindowFactory IVsAsyncToolWindowFactoryProvider Microsoft.VisualStudio.Shell.Interop.COMAsyncServiceProvider.IAsyncServiceProvider
构造函数
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) |
将异步服务添加到此包。 此服务可能在此包之外可见,也可能不可见,具体取决于 的值 |
AddService(Type, AsyncServiceCreatorWithProgressCallback) |
向此包添加一个异步服务,该服务支持初始化过程中的进度更新。 此服务在此包之外不可见。 |
AddService(Type, AsyncServiceCreatorWithProgressCallback, Boolean) |
向此包添加一个异步服务,该服务支持初始化过程中的进度更新。 此服务可能在此包之外可见,也可能不可见,具体取决于 的值 |
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),如果 |
FindWindowPane(Type, Int32, Boolean) |
获取对应于指定类型和 ID 的窗口窗格,如果不存在该类型的窗口窗格,则创建一个窗口窗格(如果被告知这样做)。 (继承自 Package) |
FindWindowPaneAsync(Type, Int32, Boolean, CancellationToken) |
异步查找与指定类型和 ID 对应的窗口窗格。
如果不存在,则创建并返回一个 (如果为 true),如果 |
GetAsyncToolWindowFactory(Guid) |
如果工具窗口支持异步创建,则返回由 |
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) |
执行初始化以准备创建由 |
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),如果 |
事件
ToolboxInitialized |
每当 Visual Studio 初始化其工具箱时生成的事件。 (继承自 Package) |
ToolboxUpgraded |
每当 Visual Studio 升级工具箱时生成的事件。 (继承自 Package) |
显式接口实现
扩展方法
ProfferService<TService>(IAsyncServiceContainer, Func<CancellationToken,Task<Object>>) |
将指定类型实现的服务传递给异步服务容器。
首次查询服务时,将调用 函数 |
ProfferService<TService>(IAsyncServiceContainer, Func<CancellationToken,Task<Object>>, Boolean) |
将指定类型实现的服务传递给异步服务容器。
首次查询服务时,将调用 函数 |
ProfferService<TService>(IAsyncServiceContainer, Func<Task<Object>>) |
将指定类型实现的服务传递给异步服务容器。
首次查询服务时,将调用 函数 |
ProfferService<TService>(IAsyncServiceContainer, Func<Task<Object>>, Boolean) |
将指定类型实现的服务传递给异步服务容器。
首次查询服务时,将调用 函数 |
QueryService(IServiceProvider, Guid) |
获取由服务提供商基于其服务 GUID 公开的服务。 |
QueryService<TService>(IServiceProvider) |
获取服务提供程序根据其服务类型公开的服务。 |
GetServiceAsync<TService,TInterface>(IAsyncServiceProvider) |
异步从服务提供程序获取服务接口。 |
GetServiceAsync<TService,TInterface>(IAsyncServiceProvider, Boolean) |
异步从服务提供程序获取服务接口。 |