Я хотел создать небольшое расширение, чтобы добавить список внешних инструментов в VS2019. В результате быстрого поиска был найден идеальный пример кода https://docs.microsoft.com/en-us/visualstudio/extensibility/writing-to-the-user-settings-store?view=vs-2019. Это добавляет команду для вызова Блокнота, поэтому я подумал, что с некоторыми изменениями моя работа была завершена.
Однако этот пример записан как синхронное расширение, которое устарело, поэтому я попытался поместить код, предназначенный для MenuItemCallBack в метод Execute расширения, но строка
SettingsManager settingsManager = new ShellSettingsManager(ServiceProvider);
не может быть скомпилирована, поскольку ServiceProvider теперь имеет тип IAsyncServiceProvider, а конструктор ShellSettingsManager требует аргумент типа IServiceProvider.
Пока что Как я могу сказать, ShellSettingsManager все еще является способом доступа к хранилищу настроек, но все примеры, которые я смог найти, относятся к размещению кода в MenuItemCallback (а также к тому, что ему несколько лет), так что для синхронных расширений.
Итак, кто-то может подсказать мне рекомендуемый способ получения доступа к хранилищу настроек в асинхронном расширении?