Nella mia estensione che sto scrivendo per Visual Studio 2015, desidero modificare le dimensioni della tabulazione e le dimensioni del rientro mentre sul lavoro abbiamo un'impostazione diversa come quando sto sviluppando per il progetto opensource (la storia dell'azienda risale al nostro periodo C). Ho scritto il seguente codice nella mia classe di comando:Scrivere le impostazioni di Visual Studio in un'estensione non rimanere
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);
}
}
Durante il test in un alveare sperimentale cambia quando si passa tramite il metodo, ma quando si apre la finestra di dialogo Opzioni rimane i valori originali. Quando esegui di nuovo il debug, i valori rimangono l'originale.
Cosa ho dimenticato o fatto male?
Credo che sia necessario eseguire settingsStore.CommitChanges() o qualcosa del genere. :) –
@ Dr.Stitch che non esiste. –
come su questo "settingsStore.Settings.Default.Save();" ? mi dispiace per quello. –