Korzystanie z magazynu ustawień
Istnieją dwa rodzaje magazynów ustawień:
Ustawienia konfiguracji, które są ustawieniami programu Visual Studio i pakietu VSPackage tylko do odczytu. Program Visual Studio scala ustawienia ze wszystkich znanych plików pkgdef w tym magazynie.
Ustawienia użytkownika, które są ustawieniami zapisywalnymi, takimi jak te wyświetlane na stronach w oknie dialogowym Opcje , strony właściwości i niektóre inne okna dialogowe. Rozszerzenia programu Visual Studio mogą używać ich do przechowywania lokalnego małych ilości danych.
W tym przewodniku pokazano, jak odczytywać dane z magazynu ustawień konfiguracji. Zobacz Zapisywanie w sklepie User Ustawienia Store, aby zapoznać się z wyjaśnieniem sposobu zapisywania w magazynie ustawień użytkownika.
Tworzenie przykładowego projektu
W tej sekcji pokazano, jak utworzyć prosty projekt rozszerzenia za pomocą polecenia menu na potrzeby pokazu.
Każde rozszerzenie programu Visual Studio rozpoczyna się od projektu wdrażania VSIX, który będzie zawierać zasoby rozszerzenia. Utwórz projekt VSIX programu Visual Studio o nazwie
SettingsStoreExtension
. Szablon projektu VSIX można znaleźć w oknie dialogowym Nowy projekt w obszarze Visual C# / Rozszerzalność.Teraz dodaj niestandardowy szablon elementu polecenia o nazwie Ustawienia StoreCommand. W oknie dialogowym Dodawanie nowego elementu przejdź do pozycji Visual C# / Rozszerzalność i wybierz pozycję Polecenie niestandardowe. W polu Nazwa w dolnej części okna zmień nazwę pliku polecenia na Ustawienia StoreCommand.cs. Aby uzyskać więcej informacji na temat tworzenia polecenia niestandardowego, zobacz Tworzenie rozszerzenia za pomocą polecenia menu
Korzystanie z magazynu Ustawienia Konfiguracji
W tej sekcji przedstawiono sposób wykrywania i wyświetlania ustawień konfiguracji.
W pliku Ustawienia StorageCommand.cs dodaj następujące dyrektywy using:
using System.Collections.Generic; using Microsoft.VisualStudio.Settings; using Microsoft.VisualStudio.Shell.Settings; using System.Windows.Forms;
W
MenuItemCallback
pliku usuń treść metody i dodaj następujące wiersze, aby pobrać magazyn ustawień konfiguracji:SettingsManager settingsManager = new ShellSettingsManager(ServiceProvider); SettingsStore configurationSettingsStore = settingsManager.GetReadOnlySettingsStore(SettingsScope.Configuration);
Jest ShellSettingsManager to zarządzana klasa pomocnika dla IVsSettingsManager usługi.
Teraz dowiedz się, czy są zainstalowane narzędzia windows Telefon Tools. Kod powinien wyglądać następująco:
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); }
Przetestuj kod. Skompiluj projekt i rozpocznij debugowanie.
W wystąpieniu eksperymentalnym w menu Narzędzia kliknij pozycję Wywołaj Ustawienia StoreCommand.
Powinno zostać wyświetlone okno komunikatu z informacją Microsoft Windows Telefon Developer Tools: a następnie wartość True lub False.
Program Visual Studio przechowuje ustawienia w rejestrze systemowym.
Aby zweryfikować ustawienia konfiguracji przy użyciu edytora rejestru
Otwórz plik Regedit.exe.
Przejdź do HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0Exp_Config\InstalledProducts\.
Uwaga
Upewnij się, że patrzysz na klucz zawierający \14.0Exp_Config\, a nie \14.0_Config\. Po uruchomieniu eksperymentalnego wystąpienia programu Visual Studio ustawienia konfiguracji znajdują się w gałęzi rejestru "14.0Exp_Config".
Rozwiń węzeł \Installed Products\. Jeśli komunikat w poprzednich krokach to Microsoft Windows Telefon Developer Tools Installed: True, \Installed Products\ powinien zawierać węzeł Microsoft Windows Telefon Developer Tools. Jeśli komunikat to Microsoft Windows Telefon Developer Tools Installed: False, to \Installed Products\ nie powinien zawierać węzła Microsoft Windows Telefon Developer Tools.