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.

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

Создать окно инструментов указанного типа с указанным ИДЕНТИФИКАТОРом.

(Унаследовано от 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, или возвращает 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) (Унаследовано от Package)
GetToolWindowTitle(Type, Int32)

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

Initialize()

Запечатайте этот метод. Из-за почти небольшого риска взаимоблокировки SetSite (что вызывает инициализацию) по-прежнему происходит в потоке пользовательского интерфейса даже для асинхронного пакета. Так как большинство авторов асинхронных пакетов могли бы логически предположить, что инициализация происходит в потоке b/g, они могут выполнять ресурсоемкие (синхронные) операции в пределах их переопределения, не отменяя некоторые преимущества асинхронных нагрузок. Чтобы сделать их недоступными, мы будем запечатывать его, и поэтому все они могут переопределяться асинхронной инициализацией, которая вызывается в потоке b/g.

InitializeAsync(CancellationToken, IProgress<ServiceProgressData>)

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

InitializeToolWindowAsync(Type, Int32, CancellationToken)

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

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

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

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

QueryService<TService>(IServiceProvider)

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

GetServiceAsync<TService,TInterface>(IAsyncServiceProvider)

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

GetServiceAsync<TService,TInterface>(IAsyncServiceProvider, Boolean)

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

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