W moim rozszerzeniu, które piszę dla Visual Studio 2015, chcę zmienić rozmiar tabulatora i wielkość wcięcia, ponieważ w pracy mamy inne ustawienie, jak gdy pracuję nad projektem opensource (historia firmy datująca nasz okres C). Napisałem następujący kod w mojej klasie polecenia:Zapisywanie ustawień Visual Studio w rozszerzeniu nie pozostaje
private const string CollectionPath = @"Text Editor\CSharp";
private void MenuItemCallback(object sender, EventArgs e)
{
var settingsManager = new ShellSettingsManager(ServiceProvider);
var settingsStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
var tabSize = settingsStore.GetInt32(CollectionPath, "Tab Size", -1);
var indentSize = settingsStore.GetInt32(CollectionPath, "Indent Size", -1);
if (tabSize != -1 && indentSize != -1)
{
settingsStore.SetInt32(CollectionPath, "Tab Size", 2);
settingsStore.SetInt32(CollectionPath, "Indent Size", 2);
}
}
Podczas testowania w ulu eksperymentalnej to zmienia go, gdy krok po kroku metody, ale po otwarciu Opcje dialogowe pozostaje oryginalne wartości. Po ponownym debugowaniu wartości pozostają oryginalne.
Co zapomniałem lub zrobiłem źle?
Wierzę, że musisz zrobić settingsStore.CommitChanges() lub coś w tym stylu. :) –
@ Dr.Stitch, który nie istnieje. –
jak o tym "settingsStore.Settings.Default.Save();" ? przepraszam za to. –