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 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) |
將非同步服務加入此封裝中。 視的值而定,此服務可能會或可能不會顯示在此封裝之外 |
| 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) |
使用指定的識別碼建立指定之類型的工具視窗。 (繼承來源 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) |
以非同步方式找出對應于指定類型和識別碼的工具視窗。
如果不存在,它會建立並傳回一個(如果為 |
| FindWindowPane(Type, Int32, Boolean) |
取得對應到指定之類型和識別碼的視窗窗格,如果有該型別的視窗窗格,則會建立一個。 (繼承來源 Package) |
| FindWindowPaneAsync(Type, Int32, Boolean, CancellationToken) |
以非同步方式找出對應至指定類型和識別碼的視窗窗格。
如果不存在,它會建立並傳回一個(如果為 |
| GetAsyncToolWindowFactory(Guid) |
|
| 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) |
執行初始化,以準備建立所識別的工具視窗 |
| 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) |
以非同步方式顯示對應至指定類型和識別碼的工具視窗。
如果不存在,它會建立並傳回一個(如果為 |
事件
| 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) |
以非同步方式從服務提供者取得服務介面。 |