In meiner Erweiterung, die ich für Visual Studio 2015 schreibe ich möchte die Tab-Größe und Einzug Größe ändern, wie bei der Arbeit haben wir eine andere Einstellung als wenn ich für Opensource-Projekt entwickeln (Firmengeschichte aus unserer C-Zeit). Ich habe den folgenden Code in meinem Kommando Klasse geschrieben:Schreiben von Visual Studio-Einstellungen in einer Erweiterung bleiben nicht
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);
}
}
Wenn in einem experimentellen hive testen es es ändert sich, wenn Sie durch den Verfahrensschritt, aber wenn man die Optionen öffnen Dialog es die ursprünglichen Werte bleibt. Wenn Sie erneut debuggen, bleiben die Werte das Original.
Was habe ich vergessen oder falsch gemacht?
Ich glaube, Sie müssen settingsStore.CommitChanges() oder so etwas tun. :) –
@ Dr.Stitch, die nicht existiert. –
Wie wäre es mit diesem "settingsStore.Settings.Default.Save();" ? Das tut mir leid. –