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
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
Наследование
AsyncPackage
Производный
Атрибуты
Реализации

Конструкторы

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)

Добавляет в этот пакет асинхронную службу. Эта служба может быть или не отображаться за пределами этого пакета в зависимости от значения promote.

AddService(Type, AsyncServiceCreatorWithProgressCallback)

Добавляет в этот пакет асинхронную службу, которая поддерживает обновления хода выполнения во время инициализации. Эта служба не будет отображаться за пределами этого пакета.

AddService(Type, AsyncServiceCreatorWithProgressCallback, Boolean)

Добавляет в этот пакет асинхронную службу, которая поддерживает обновления хода выполнения во время инициализации. Эта служба может быть или не отображаться за пределами этого пакета в зависимости от значения promote.

CreateInstance(Guid, Guid, Type)

Создает указанный COM-объект с помощью объекта CLSID локального реестра Visual Studio.

(Унаследовано от 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)

Асинхронно находит окно инструментов, соответствующее указанному типу и идентификатору. Если он не существует, он создает и возвращает , если create имеет значение true, или возвращает значение NULL, если create имеет значение false.

FindWindowPane(Type, Int32, Boolean)

Получает панель окна, соответствующую указанному типу и идентификатору, и если панели окна этого типа не существует, создает ее, если поступает такая команда.

(Унаследовано от Package)
FindWindowPaneAsync(Type, Int32, Boolean, CancellationToken)

Асинхронно находит область окна, соответствующую указанному типу и идентификатору. Если он не существует, он создает и возвращает , если create имеет значение true, или возвращает значение NULL, если create имеет значение false.

GetAsyncToolWindowFactory(Guid)

Возвращает интерфейс фабрики асинхронного окна инструментов для окна инструментов, определяемого параметром toolWindowType, если для окна инструментов поддерживается асинхронное создание. Если асинхронное создание не поддерживается, возвращается значение NULL.

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 (который вызывает инициализацию) по-прежнему возникает в потоке пользовательского интерфейса даже для асинхронного пакета. Так как большинство авторов асинхронных пакетов логически предполагают, что инициализация происходит в потоке b/g, они могут выполнять дорогостоящие (синхронные) действия внутри своего переопределения, что не дает некоторых преимуществ асинхронных нагрузок. Чтобы помочь отвести их от этого, мы запечатаем их, и поэтому все, что они могут переопределить, — это асинхронная инициализация, которая вызывается в потоке b/g.

InitializeAsync(CancellationToken, IProgress<ServiceProgressData>)

Часть асинхронной инициализации пакета. Этот метод вызывается из фонового потока.

InitializeToolWindowAsync(Type, Int32, CancellationToken)

Выполняет инициализацию при подготовке к созданию окна инструментов, определяемого с помощью toolWindowType.

InstantiateToolWindow(Type)

Представляет пакет VSPackage, который может обрабатывать асинхронные службы.

(Унаследовано от Package)
InstantiateToolWindow(Type, Object)

Создайте окно инструментов указанного типа.

(Унаследовано от Package)
IsLocalService(Type)

Определяет, можно ли получить указанный тип службы без необходимости перехода 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)

Вызывается, чтобы запросить пакет о возможности закрытия оболочки.

(Унаследовано от Package)
RegisterEditorFactory(IVsEditorFactory)

Регистрирует фабрику редактора в Visual Studio.

(Унаследовано от Package)
RegisterProjectFactory(IVsProjectFactory)

Регистрирует фабрику проекта с помощью Visual Studio.

(Унаследовано от Package)
RemoveService(Type)

Удаляет асинхронную службу, зарегистрированную в этом пакете.

RemoveService(Type, Boolean)

Удаляет асинхронную службу, зарегистрированную в этом пакете.

ShowOptionPage(Type)

Отображает указанную страницу настроек инструментов.

(Унаследовано от Package)
ShowToolWindowAsync(Type, Int32, Boolean, CancellationToken)

Асинхронно отображает окно инструментов, соответствующее указанному типу и идентификатору. Если он не существует, он создает и возвращает , если create имеет значение true, или возвращает значение NULL, если create имеет значение false.

События

ToolboxInitialized

Событие создается всякий раз, когда Visual Studio инициализирует панель элементов.

(Унаследовано от Package)
ToolboxUpgraded

Событие создается при каждом обновлении панели элементов Visual Studio.

(Унаследовано от Package)

Явные реализации интерфейса

IAsyncLoadablePackageInitialize.Initialize(IAsyncServiceProvider, IProfferAsyncService, IAsyncProgressCallback)

Асинхронная версия SetSite, вызываемая из потока b/g.

IAsyncLoadablePackageInitialize.Initialize(IAsyncServiceProvider, IProfferAsyncService, IAsyncProgressCallback)

Асинхронная версия SetSite, вызываемая из потока b/g.

IAsyncServiceProvider.QueryServiceAsync(Guid)

Получите асинхронную службу инициализации, предлагаемую этим пакетом.

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.

(Унаследовано от Package)
IVsPackage.ResetDefaults(UInt32)

Сбрасывает значения по умолчанию Панели элементов.

(Унаследовано от Package)
IVsPackage.SetSite(IServiceProvider)

Инициализирует VSPackage в среде Visual Studio.

(Унаследовано от 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)

Представляет пакет VSPackage, который может обрабатывать асинхронные службы.

(Унаследовано от Package)
IVsToolWindowFactory.CreateToolWindow(Guid, UInt32)

Создает окно инструментов заданного типа с указанным идентификатором.

(Унаследовано от Package)
IVsUserSettings.ExportSettings(String, IVsSettingsWriter)

Этот метод реализует интерфейс IVsUserSettings, используемый для управления профилями и импорта/экспорта параметров в XML-файлы.

(Унаследовано от Package)
IVsUserSettings.ImportSettings(String, IVsSettingsReader, UInt32, Int32)

Извлекает конфигурацию VSPackage с помощью механизма параметров Visual Studio, когда пользователь выбирает параметр импорта параметров импорта и экспорта в меню Сервис интегрированной среды разработки. Этот метод является частью реализации интерфейса 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)

Возвращает службу, предоставленную поставщиком услуг на основе его GUID службы.

QueryService<TService>(IServiceProvider)

Возвращает службу, предоставленную поставщиком услуг на основе его типа службы.

GetServiceAsync<TService,TInterface>(IAsyncServiceProvider)

Асинхронно получает интерфейс службы от поставщика служб.

GetServiceAsync<TService,TInterface>(IAsyncServiceProvider, Boolean)

Асинхронно получает интерфейс службы от поставщика служб.

Применяется к