SettingsManager.GetWritableSettingsStore für den Import / Export in Visual Studio Extension verfügbar?

8

Ich verwende den SettingsManager in meiner Visual Studio-Erweiterung, um Benutzereinstellungen zu speichern.

%Vor%

Ich habe eine benutzerdefinierte WPF-Optionen-Seite, wie in diesem Beitrag beschrieben . Ich möchte auch meine Erweiterung einrichten, um mit den Import / Export-Einstellungen zu arbeiten, also folgte ich dem Erstellen einer Optionen-Seite und Erstellen einer Einstellungs-Kategorie Seiten, um dies meinen Paketattributen hinzuzufügen:

%Vor%

Ich habe es erfolgreich als Überschrift unter Import / Export Einstellungen erscheinen lassen, aber keine meiner Daten, die mit SettingsManager gespeichert wurden, erscheint nach dem Export. Ich habe die Optionen unter ProvideProfile und ProvideOptionPage überprüft und versucht, SupportsProfiles = true einzustellen, aber das hat nicht geholfen.

Wie hänge ich die beiden Systeme an?

(bearbeiten) Ich habe Process Monitor ausgeführt und die SettingsManager-Schlüssel hier gefunden (CollectionPath UnitTestBoilerplateGenerator):

%Vor%

Und die eingebauten Optionen hier gespeichert (Beispiel von einer anderen Erweiterung):

%Vor%

Es scheint also, als würden sie in getrennten Bereichen gespeichert. Gibt es eine Möglichkeit programmgesteuert zu diesen integrierten Optionen zu schreiben oder den benutzerdefinierten CollectionPath in den Import / Export aufzunehmen?

    
RandomEngy 25.09.2017, 02:52
quelle

1 Antwort

1

Ich habe einen Weg gefunden, es zu tun. Sie müssen in einen Collection-Pfad schreiben, der dem vollständigen Typnamen Ihres Optionsdialogtyps entspricht. Meine war UnitTestBoilerplate.View.OptionsDialogPage , also habe ich einen Collection-Pfad von ApplicationPrivateSettings\UnitTestBoilerplate\View\OptionsDialogPage verwendet. Ich musste auch eine Dummy-Eigenschaft für den Optionsdialog erstellen, um VS dazu zu verleiten, die Einstellung tatsächlich zu exportieren. Wenn ich also in MyProperty schreiben wollte, brauchte ich

%Vor%

auf OptionsDialogPage.

Allerdings scheint das ein großer Hack zu sein, der bei einer neuen Version von VS kaputt gehen könnte. Ich würde eine elegantere Lösung lieben, wenn jemand eine hat.

Auch eine wirklich seltsame Einschränkung ist, dass, wenn Sie "VisualStudio" im Schlüsselnamen für eine Zeichenfolgeneinstellung haben, es als "1 * null *" zurückkommt, egal was Sie dort hinzufügen.

    
RandomEngy 05.10.2017 03:17
quelle