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 registry hive 的根登錄機碼。

(繼承來源 Package)
DisposalToken

公開 CancellationToken ,可用來檢查封裝是否已經處置。 當 Visual Studio 開始關閉時,在背景執行緒上執行的非同步工作可能會發生這種情況。 ShutdownToken針對 VS 即將關機的先前指示使用。

JoinableTaskCollection

取得由此封裝啟動之非同步工作的集合。

JoinableTaskFactory

取得要用於此封裝啟動之非同步工作的 factory。

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)

使用指定的識別碼,建立指定之類型的工具視窗。

(繼承來源 Package)
CreateToolWindow(Type, Int32)

使用指定的識別碼,建立指定之類型的工具視窗。

(繼承來源 Package)
CreateToolWindow(Type, Int32, Object)

使用指定的識別碼建立指定之類型的工具視窗。

(繼承來源 Package)
CreateToolWindow(Type, Int32, UInt32)

使用指定的識別碼,建立指定之類型的工具視窗。

(繼承來源 Package)
CreateToolWindow(Type, Int32, UInt32, Object, Guid)

使用指定的識別碼建立指定之類型的工具視窗。 這是應該呼叫 IVsUiShell 的唯一方法。 CreateToolWindow ()

(繼承來源 Package)
Dispose(Boolean)

處置物件和相關聯的解除標記。

FindToolWindow(Type, Int32, Boolean)

取得對應到指定之類型和識別碼的工具視窗。

(繼承來源 Package)
FindToolWindowAsync(Type, Int32, Boolean, CancellationToken)

以非同步方式找出對應于指定類型和識別碼的工具視窗。 如果不存在,它會建立並傳回一個(如果為 create true),如果是 false,則會傳回 null create

FindWindowPane(Type, Int32, Boolean)

取得對應到指定之類型和識別碼的視窗窗格,如果有該型別的視窗窗格,則會建立一個。

(繼承來源 Package)
FindWindowPaneAsync(Type, Int32, Boolean, CancellationToken)

以非同步方式找出對應至指定類型和識別碼的視窗窗格。 如果不存在,它會建立並傳回一個(如果為 create true),如果是 false,則會傳回 null create

GetAsyncToolWindowFactory(Guid)

toolWindowType如果工具視窗支援非同步建立,則傳回所識別之工具視窗的非同步工具視窗 factory 介面。 如果不支援非同步建立,則會傳回 null。

GetAutomationObject(String)

取得 VSPackage 的 automation 物件。

(繼承來源 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) (繼承來源 Package)
GetToolWindowTitle(Type, Int32)

傳回要用於工具視窗的標題字串。 如果傳回 null,則會使用工具視窗的型別名稱做為標題。

Initialize()

密封此方法。 由於鎖死的風險幾乎無法避免,SetSite (這是呼叫 Initialize) 仍會在 UI 執行緒上發生的情況,即使是非同步封裝也是如此。 因為大部分的非同步封裝作者在邏輯上會假設在 b/g 執行緒上進行初始化,所以在其覆寫內的 (同步) 專案可能會耗費大量資源,失去非同步載入的一些優點。 為了協助讓它們離開,我們會將它密封,因此它們可以覆寫為 async initialize (在 b/g 執行緒上呼叫)。

InitializeAsync(CancellationToken, IProgress<ServiceProgressData>)

封裝初始化進程的非同步初始化部分。 這個方法是從背景執行緒叫用。

InitializeToolWindowAsync(Type, Int32, CancellationToken)

執行初始化,以準備建立所識別的工具視窗 toolWindowType

InstantiateToolWindow(Type) (繼承來源 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 註冊編輯器 factory。

(繼承來源 Package)
RegisterProjectFactory(IVsProjectFactory)

使用 Visual Studio 註冊 project factory。

(繼承來源 Package)
RemoveService(Type)

移除向這個封裝註冊的非同步服務。

RemoveService(Type, Boolean)

移除向這個封裝註冊的非同步服務。

ShowOptionPage(Type)

顯示指定的 [工具選項] 頁面。

(繼承來源 Package)
ShowToolWindowAsync(Type, Int32, Boolean, CancellationToken)

以非同步方式顯示對應至指定類型和識別碼的工具視窗。 如果不存在,它會建立並傳回一個(如果為 create true),如果是 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)

使用指定的識別碼,建立指定之類型的工具視窗。

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) (繼承來源 Package)
IVsToolWindowFactory.CreateToolWindow(Guid, UInt32)

使用指定的識別碼,建立指定之類型的工具視窗。

(繼承來源 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 。 推出服務將會升級至父非同步服務容器。

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)

取得服務提供者根據服務提供者的服務型別所公開的服務。

QueryService<TService>(IServiceProvider)

取得服務提供者根據服務提供者的服務型別所公開的服務。

GetServiceAsync<TService,TInterface>(IAsyncServiceProvider)

以非同步方式從服務提供者取得服務介面。

GetServiceAsync<TService,TInterface>(IAsyncServiceProvider, Boolean)

以非同步方式從服務提供者取得服務介面。

適用於