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) |
使用指定的識別碼,建立指定型別的工具視窗。 (繼承來源 Package) |
CreateToolWindow(Type, Int32) |
使用指定的識別碼,建立指定型別的工具視窗。 (繼承來源 Package) |
CreateToolWindow(Type, Int32, Object) |
Create 具有指定識別符之指定型別的工具視窗。 (繼承來源 Package) |
CreateToolWindow(Type, Int32, UInt32) |
使用指定的識別碼,建立指定型別的工具視窗。 (繼承來源 Package) |
CreateToolWindow(Type, Int32, UInt32, Object, Guid) |
Create 具有指定識別符之指定型別的工具視窗。 這是唯一應該呼叫 IVsUiShell.CreateToolWindow () (繼承來源 Package) |
Dispose(Boolean) |
處置 對象和相關聯的取消標記。 |
FindToolWindow(Type, Int32, Boolean) |
取得對應至指定類型和識別碼的工具視窗。 (繼承來源 Package) |
FindToolWindowAsync(Type, Int32, Boolean, CancellationToken) |
以異步方式找出對應至指定類型和標識碼的工具視窗。
如果不存在,它會建立 ,如果 |
FindWindowPane(Type, Int32, Boolean) |
取得對應至指定類型和標識符的視窗窗格,如果該類型的視窗窗格不存在,則會建立一個。 (繼承來源 Package) |
FindWindowPaneAsync(Type, Int32, Boolean, CancellationToken) |
以異步方式找出對應至指定類型和標識符的視窗窗格。
如果不存在,它會建立 ,如果 |
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) |
取得指定工具箱項目識別碼和數據格式的數據格式內容。 (繼承來源 Package) |
GetToolboxItemDataAsync(String, DataFormats+Format) |
表示可處理異步服務的 VSPackage。 (繼承來源 Package) |
GetToolWindowTitle(Type, Int32) |
傳回要用於工具視窗的標題字串。 如果傳回 null,工具視窗的類型名稱會用於標題。 |
Initialize() |
密封這個方法。 由於幾乎無法避免死結的風險,SetSite (這是即使異步套件,在 UI 線程上仍會發生 Initialize) 呼叫。 由於大部分異步套件作者會以邏輯方式假設 Initialize 發生在 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) |
呼叫 以詢問封裝是否可以關閉殼層。 (繼承來源 Package) |
RegisterEditorFactory(IVsEditorFactory) |
向 Visual Studio 註冊編輯器處理站。 (繼承來源 Package) |
RegisterProjectFactory(IVsProjectFactory) |
向 Visual Studio 註冊項目處理站。 (繼承來源 Package) |
RemoveService(Type) |
拿掉向這個套件註冊的異步服務。 |
RemoveService(Type, Boolean) |
拿掉向這個套件註冊的異步服務。 |
ShowOptionPage(Type) |
顯示指定的工具選項頁面。 (繼承來源 Package) |
ShowToolWindowAsync(Type, Int32, Boolean, CancellationToken) |
以異步方式顯示對應至指定類型和標識碼的工具視窗。
如果不存在,它會建立 ,如果 |
事件
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) |
以異步方式從服務提供者取得服務介面。 |