Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ustawienia użytkownika są ustawieniami zapisywalnymi, takimi jak te w oknie dialogowym Narzędzia/opcje , okna właściwości i niektóre inne okna dialogowe. Rozszerzenia programu Visual Studio mogą używać ich do przechowywania małych ilości danych. W tym przewodniku pokazano, jak dodać Notatnik do programu Visual Studio jako narzędzie zewnętrzne, odczytując dane z magazynu ustawień użytkownika i zapisując je w magazynie ustawień użytkownika.
Zapisywanie w magazynie ustawień użytkownika
Utwórz projekt VSIX o nazwie User Ustawienia StoreExtension, a następnie dodaj niestandardowe polecenie o nazwie User Ustawienia StoreCommand. Aby uzyskać więcej informacji na temat tworzenia polecenia niestandardowego, zobacz Tworzenie rozszerzenia za pomocą polecenia menu
W pliku User Ustawienia StoreCommand.cs dodaj następujące dyrektywy using:
using System.Collections.Generic; using Microsoft.VisualStudio.Settings; using Microsoft.VisualStudio.Shell.Settings;W menuItemCallback usuń treść metody i pobierz magazyn ustawień użytkownika w następujący sposób:
private void MenuItemCallback(object sender, EventArgs e) { SettingsManager settingsManager = new ShellSettingsManager(ServiceProvider); WritableSettingsStore userSettingsStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings); }Teraz sprawdź, czy Notatnik jest już ustawiona jako narzędzie zewnętrzne. Aby określić, czy ustawienie ToolCmd ma wartość "Notatnik", należy wykonać iterację we wszystkich narzędziach zewnętrznych w następujący sposób:
private void MenuItemCallback(object sender, EventArgs e) { SettingsManager settingsManager = new ShellSettingsManager(ServiceProvider); WritableSettingsStore userSettingsStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings); // Find out whether Notepad is already an External Tool. int toolCount = userSettingsStore.GetInt32("External Tools", "ToolNumKeys"); bool hasNotepad = false; CompareInfo Compare = CultureInfo.InvariantCulture.CompareInfo; for (int i = 0; i < toolCount; i++) { if (Compare.IndexOf(userSettingsStore.GetString("External Tools", "ToolCmd" + i), "Notepad", CompareOptions.IgnoreCase) >= 0) { hasNotepad = true; break; } } }Jeśli Notatnik nie został ustawiony jako narzędzie zewnętrzne, ustaw go w następujący sposób:
private void MenuItemCallback(object sender, EventArgs e) { SettingsManager settingsManager = new ShellSettingsManager(ServiceProvider); WritableSettingsStore userSettingsStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings); // Find out whether Notepad is already installed. int toolCount = userSettingsStore.GetInt32("External Tools", "ToolNumKeys"); bool hasNotepad = false; CompareInfo Compare = CultureInfo.InvariantCulture.CompareInfo; for (int i = 0; i < toolCount; i++) { if (Compare.IndexOf(userSettingsStore.GetString("External Tools", "ToolCmd" + i), "Notepad", CompareOptions.IgnoreCase) >= 0) { hasNotepad = true; break; } } string message = (hasNotepad) ? "Notepad already installed" : "Installing Notepad"; if (!hasNotepad) { userSettingsStore.SetString("External Tools", "ToolTitle" + toolCount, "&Notepad"); userSettingsStore.SetString("External Tools", "ToolCmd" + toolCount, "C:\\Windows\\notepad.exe"); userSettingsStore.SetString("External Tools", "ToolArg" + toolCount, ""); userSettingsStore.SetString("External Tools", "ToolDir" + toolCount, "$(ProjectDir)"); userSettingsStore.SetString("External Tools", "ToolSourceKey" + toolCount, ""); userSettingsStore.SetUInt32("External Tools", "ToolOpt" + toolCount, 0x00000011); userSettingsStore.SetInt32("External Tools", "ToolNumKeys", toolCount + 1); } }Przetestuj kod. Pamiętaj, że dodaje Notatnik jako narzędzie zewnętrzne, dlatego należy wycofać rejestr przed uruchomieniem go po raz drugi.
Skompiluj kod i rozpocznij debugowanie.
W menu Narzędzia kliknij pozycję Wywołaj użytkownika Ustawienia StoreCommand. Spowoduje to dodanie Notatnik do menu Narzędzia.
Teraz powinien zostać wyświetlony Notatnik w menu Narzędzia /Opcje i kliknięcie Notatnik powinno spowodować wyświetlenie wystąpienia Notatnik.