Freigeben über


Unterstützung für Benutzereinstellungen

Ein VSPackage kann eine oder mehrere Einstellungskategorien definieren, bei denen es sich um Gruppen von Statusvariablen handelt, die beibehalten werden, wenn ein Benutzer den Befehl "Import/Export Einstellungen" im Menü "Extras" auswählt. Um diese Persistenz zu aktivieren, verwenden Sie die Einstellungs-APIs im Visual Studio SDK.

Ein Registrierungseintrag, der als "Custom Einstellungen Point" bezeichnet wird, und eine GUID definiert die Einstellungskategorie einer VSPackage. Ein VSPackage kann mehrere Einstellungskategorien unterstützen, die jeweils durch einen benutzerdefinierten Einstellungen Punkt definiert werden.

  • Implementierungen von Einstellungen, die auf Interopassemblys (mithilfe der IVsUserSettings Schnittstelle) basieren, sollten benutzerdefinierte Einstellungen Point erstellen, indem sie entweder die Registrierung bearbeiten oder ein Registrierungsstellenskript (RGS-Datei) verwenden. Weitere Informationen finden Sie unter Creating Registrar Scripts.

  • Code, der das Managed Package Framework (MPF) verwendet, sollte benutzerdefinierte Einstellungen Points erstellen, indem er für jeden benutzerdefinierten Einstellungen Punkt eine ProvideProfileAttribute an das VSPackage anfügt.

    Wenn ein einzelnes VSPackage mehrere benutzerdefinierte Einstellungen Points unterstützt, wird jeder benutzerdefinierte Einstellungen Point durch eine separate Klasse implementiert, und jede wird von einer eindeutigen Instanz der ProvideProfileAttribute Klasse registriert. Daher kann eine implementierungsklasse implementierte Einstellung mehr als eine Einstellungskategorie unterstützen.

Details zu benutzerdefinierten Einstellungen Point Registry Entry Details

Benutzerdefinierte Einstellungen Punkte werden an folgendem Speicherort in einem Registrierungseintrag erstellt: HKLM\Software\Microsoft\VisualStudio\<Version>\User Einstellungen\<CSPName>, wobei <CSPName> der Name des benutzerdefinierten Einstellungen Punkt, den vsPackage unterstützt, und< Version> ist die Version von Visual Studio, z. B. 8.0.

Hinweis

Der Stammpfad von HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> kann mit einem alternativen Stamm überschrieben werden, wenn die integrierte Entwicklungsumgebung (IDE) von Visual Studio initialisiert wird. Weitere Informationen finden Sie unter Befehlszeilenoptionen.

Die Struktur des Registrierungseintrags wird unten veranschaulicht:

HKLM\Software\Microsoft\VisualStudio\<Version>\User Einstellungen\

<CSPName>= s '#12345'

Paket = '{XXXXXX XXXX XXXX XXXX XXXXXXX}'

Kategorie = '{JJJJJJ JJJJJJJJ}'

ResourcePackage = '{ZZZZZZZZ ZZZZ ZZZZ ZZZZ ZZZZZZZZZZZ}'

AlternateParent = CategoryName

Name Typ Daten Beschreibung
(Standardwert) REG_SZ Name des benutzerdefinierten Einstellungen Punkts Der Name <CSPName>des Schlüssels ist der nicht lokalisierte Name des benutzerdefinierten Einstellungen Punkts.

Für Implementierungen, die auf MPF basieren, wird der Name des Schlüssels abgerufen, indem die categoryName Argumente des ProvideProfileAttribute Konstruktors categoryName_objectNamekombiniert werdenobjectName.

Der Schlüssel kann leer sein, oder er kann die Referenz-ID für die lokalisierte Zeichenfolge in einer Satelliten-DLL enthalten. Dieser Wert wird vom objectNameResourceID Argument zum ProvideProfileAttribute Konstruktor abgerufen.
Paket REG_SZ GUID Die GUID des VSPackage, das den benutzerdefinierten Einstellungen Point implementiert.

Implementierungen, die auf MPF mithilfe der ProvideProfileAttribute Klasse basieren, verwenden Sie das Argument des objectType Konstruktors, das die VSPackage-Klasse Type und die Reflexion enthält, um diesen Wert abzurufen.
Kategorie REG_SZ GUID GUID, die die Einstellungskategorie identifiziert.

Bei Implementierungen, die auf Interopassemblys basieren, kann dieser Wert eine willkürlich ausgewählte GUID sein, die von der Visual Studio-IDE an die ExportSettings Und die ImportSettings Methoden übergeben wird. Alle Implementierungen dieser beiden Methoden sollten ihre GUID-Argumente überprüfen.

Für Implementierungen, die auf MPF basieren, wird diese GUID von der Klasse abgerufen, die Type den Visual Studio-Einstellungsmechanismus implementiert.
ResourcePackage REG_SZ GUID Optional.

Pfad zur Satelliten-DLL, die lokalisierte Zeichenfolgen enthält, wenn sie vom implementierenden VSPackage nicht bereitgestellt werden.

MPF verwendet Spiegelung, um die richtige Ressource VSPackage abzurufen, sodass die ProvideProfileAttribute Klasse dieses Argument nicht festgelegt.
AlternateParent REG_SZ Der Name des Ordners unter der Seite "Extras-Optionen" mit diesem benutzerdefinierten Einstellungen Punkt. Optional.

Sie müssen diesen Wert nur festlegen, wenn eine Einstellungsimplementierung Tools-Optionsseiten unterstützt, die den Persistenzmechanismus im Visual Studio SDK anstelle des Mechanismus im Automatisierungsmodell zum Speichern des Zustands verwenden.

In diesen Fällen ist der Wert im AlternateParent-Schlüssel der topic Abschnitt der Zeichenfolge, mit der topic.sub-topic die jeweilige ToolsOptions-Seite identifiziert wird. For example, for the ToolsOptions page "TextEditor.Basic" the value of AlternateParent would be "TextEditor".

Wenn ProvideProfileAttribute der benutzerdefinierte Einstellungen Punkt generiert wird, entspricht es dem Kategorienamen.