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
[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 默认构造函数。 |
属性
| 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) |
使用指定的 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,则它将创建并返回一个,如果 |
| 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) | (继承自 Package) |
| GetToolWindowTitle(Type, Int32) |
返回要用于工具窗口的标题字符串。 如果返回 null,则工具窗口的类型名称将用于标题。 |
| Initialize() |
密封此方法。 由于死锁的风险几乎是不可避免的,SetSite (这是调用 Initialize 的) 仍会在 UI 线程上出现,即使对于异步包也是如此。 由于大多数异步包作者都以逻辑方式假定在 b/g 线程上进行初始化,因此,它们可能会在其替代) (同步操作,从而摆异步加载的一些优点。 为帮助您解决问题,我们将对其进行密封,因此它们可以重写的全部都是异步初始化,在 b/g 线程上调用。 |
| InitializeAsync(CancellationToken, IProgress<ServiceProgressData>) |
包初始化过程的异步初始化部分。 此方法是从后台线程调用的。 |
| InitializeToolWindowAsync(Type, Int32, CancellationToken) |
执行初始化,以便准备创建由标识的工具窗口 |
| 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,则它将创建并返回一个,如果 |
事件
| 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) |
根据服务提供程序的服务类型获取服务提供程序公开的服务。 |
| QueryService<TService>(IServiceProvider) |
根据服务提供程序的服务类型获取服务提供程序公开的服务。 |
| GetServiceAsync<TService,TInterface>(IAsyncServiceProvider) |
从服务提供程序异步获取服务接口。 |
| GetServiceAsync<TService,TInterface>(IAsyncServiceProvider, Boolean) |
从服务提供程序异步获取服务接口。 |