Использование хранилища параметров
Существует два типа хранилищ параметров:
Параметры конфигурации, которые являются параметрами Visual Studio и VSPackage только для чтения. Visual Studio объединяет параметры из всех известных PKGDEF-файлов в это хранилище.
Параметры пользователя, которые могут быть записаны, например те, которые отображаются на страницах в диалоговом окне "Параметры ", страницах свойств и некоторых других диалоговых окнах. Расширения Visual Studio могут использовать их для локального хранения небольших объемов данных.
В этом пошаговом руководстве показано, как считывать данные из хранилища параметров конфигурации. Сведения о записи в хранилище параметров пользователя см. в разделе "Запись в хранилище параметров пользователя" Параметры Store.
Создание примера проекта
В этом разделе показано, как создать простой проект расширения с помощью команды меню для демонстрации.
Каждое расширение Visual Studio начинается с проекта развертывания VSIX, который будет содержать ресурсы расширения. Создайте проект VISUAL Studio VSIX с именем
SettingsStoreExtension
. Шаблон проекта VSIX можно найти в диалоговом окне "Новый проект" в разделе "Visual C# / Расширяемость".Теперь добавьте пользовательский шаблон элемента команды с именем Параметры StoreCommand. В диалоговом окне "Добавление нового элемента" перейдите в Visual C# или расширяемость и выберите "Настраиваемая команда". В поле "Имя" в нижней части окна измените имя файла команды на Параметры StoreCommand.cs. Дополнительные сведения о создании настраиваемой команды см. в разделе "Создание расширения с помощью команды меню"
Использование хранилища конфигурации Параметры
В этом разделе показано, как обнаруживать и отображать параметры конфигурации.
В файле Параметрыслужба хранилища Command.cs добавьте следующие директивы using:
using System.Collections.Generic; using Microsoft.VisualStudio.Settings; using Microsoft.VisualStudio.Shell.Settings; using System.Windows.Forms;
Удалите
MenuItemCallback
текст метода и добавьте следующие строки, чтобы получить хранилище параметров конфигурации:SettingsManager settingsManager = new ShellSettingsManager(ServiceProvider); SettingsStore configurationSettingsStore = settingsManager.GetReadOnlySettingsStore(SettingsScope.Configuration);
Это ShellSettingsManager управляемый вспомогательный класс по IVsSettingsManager службе.
Теперь узнайте, установлены ли средства Windows Телефон. Код должен выглядеть следующим образом:
private void MenuItemCallback(object sender, EventArgs e) { SettingsManager settingsManager = new ShellSettingsManager(ServiceProvider); SettingsStore configurationSettingsStore = settingsManager.GetReadOnlySettingsStore(SettingsScope.Configuration); bool arePhoneToolsInstalled = configurationSettingsStore.CollectionExists(@"InstalledProducts\Microsoft Windows Phone Developer Tools"); string message = "Microsoft Windows Phone Developer Tools: " + arePhoneToolsInstalled; MessageBox.Show(message); }
Тестирование кода. Выполните сборку решения и запустите отладку.
В экспериментальном экземпляре в меню "Сервис" щелкните "Вызвать" Параметры StoreCommand.
Появится окно сообщения с сообщением о средствах разработчика Microsoft Windows Телефон: за которым следует значение True или False.
Visual Studio сохраняет хранилище параметров в системном реестре.
Использование редактора реестра для проверки параметров конфигурации
Откройте Regedit.exe.
Перейдите к HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0Exp_Config\InstalledProducts\.
Примечание.
Убедитесь, что вы просматриваете ключ, содержащий \14.0Exp_Config\ и не \14.0_Config\. При запуске экспериментального экземпляра Visual Studio параметры конфигурации находятся в кусте реестра "14.0Exp_Config".
Разверните узел \Установленные продукты\. Если сообщение на предыдущих шагах — Microsoft Windows Телефон средства разработчика установлено: True, то \Installed Products\ должен содержать узел Microsoft Windows Телефон Developer Tools. Если сообщение установлено microsoft Windows Телефон средства разработчика: false, то \Installed Products\ не должен содержать узел Microsoft Windows Телефон Средств разработчика.