Exemplarische Vorgehensweise: Eine Einstellungskategorie erstellen
In dieser exemplarischen Vorgehensweise können Sie eine Visual Studio Einstellungskategorie erstellen und sie verwenden, um Werte zu speichern und Werte aus einer Einstellungsdatei wiederherzustellen. Eine Kategorie ist eine Gruppe verwandter Eigenschaften, die als „benutzerdefinierten Einstellungen mit“ angezeigt werden. d. h. als Kontrollkästchen im Einstellungen importieren Export-Einstellungs-Assistenten. So führen Sie den Assistenten, auf dem Extras Menü zu starten, klicken Sie auf Einstellungen importieren und exportieren. Einstellungen werden als Kategorie gespeichert oder wiederhergestellt und individuelle Einstellungen sind nicht im Assistenten angezeigt. Weitere Informationen finden Sie unter Anpassen der Entwicklungseinstellungen in Visual Studio.
Das verwaltete Paketframework (MPF) unterstützt die Erstellung von Einstellungskategorien mit kleinem wenig zusätzlichen Code. Sie erstellen ein VSPackage, um einen Container für die Kategorie des Unterordnen der Package-Klasse bereitzustellen. Sie erstellen die Kategorie selbst, indem Sie sie aus der DialogPage-Klasse abgeleitet sind.
Hinweis
Obwohl DialogPage ein Eigenschaftenraster oder eine benutzerdefinierte Benutzeroberfläche bereitstellen kann, wird kein vom Manager für Einstellungen verwendet.
Um diese exemplarische Vorgehensweise beginnen, müssen Sie den ersten Abschnitt von Exemplarische Vorgehensweise: Eine Optionsseite erstellenzuerst abschließen. Das resultierende Eigenschaft Optionen Eigenschaftenraster können Sie die Eigenschaften in der Kategorie überprüfen und ändern. Nachdem Sie die Eigenschaft in der Kategorie Einstellungsdatei gespeichert, checken Sie die Datei, um zu sehen, wie die Eigenschaftswerte gespeichert werden.
Vorbereitungsmaßnahmen
Zum Abschließen dieser exemplarischen Vorgehensweise müssen Sie Visual Studio 2010 SDKinstallieren.
Hinweis
Weitere Informationen über das Visual Studio-SDK finden Sie unter Erweitern von Visual Studio Overview.Um herauszufinden finden Sie unter wie das Visual Studio-SDK, auf Visual Studio Extensibility Developer Center der MSDN-Website herunterlädt.
Speicherorte für die Visual Studio-Paket-Projektvorlage
Die Visual Studio-Paket importieren kann in drei verschiedenen Stellen im Dialogfeld Neues Projekt gefunden werden:
Klicken Sie unter Von Visual Basic-Erweiterbarkeit. Die Standardsprache des Projekts ist Visual Basic.
Die C#-Erweiterbarkeit. Die Standardsprache ist C# des Projekts.
Verwenden anderer Projekttyp-Erweiterbarkeit. Die Standardsprache des Projekts ist C++.
Eine Einstellungskategorie erstellen
In diesem Abschnitt erstellen Sie eine Einstellungskategorie, indem Sie die Visual Studio Paket importieren verwenden. Sie verwenden einen benutzerdefinierten Einstellungen für das Popup die Werte der Einstellungskategorie zu speichern und wiederherstellen.
So erstellen Sie eine Einstellungskategorie
Schließen Sie den ersten Abschnitt von Exemplarische Vorgehensweise: Eine Optionsseite erstellenab.
Klicken Sie mit der rechten Maustaste auf MyToolsOptions-Projektknoten, und klicken Sie dann auf Als Startprojekt festlegen.
Öffnen Sie die VSPackage.resx-Datei, und fügen Sie diese drei Zeichenfolgenressourcen hinzu:
Name
Wert
106
Meine Kategorie
107
Eigene Einstellungen
108
OptionInteger und OptionFloat
Dies erzeugt Ressourcen, die die Kategorie „My“ Category „My Objekt, das Einstellungen“ und die Beschreibung der Kategorien und OptionInteger „OptionFloat“.
Hinweis
Von diesen drei nur der Kategoriename Export-Einstellungs Seite wird nicht im Assistenten.
Öffnen Sie die Datei MyToolsOptionsPackage.cs oder MyToolsOptionsPackage.vb im MyToolsOptions-Projekt float und fügen Sie eine Eigenschaft hinzu, die OptionFloat der OptionPageGrid-Klasse, wie im folgenden Beispiel gezeigt.
Public Class OptionPageGrid Inherits DialogPage Private _optionInt As Integer = 256 Private _optionFloat As Single = 3.14F <Category("My Options")> <Description("My integer option")> Public Property OptionInteger() As Integer Get Return _optionInt End Get Set(ByVal value As Integer) _optionInt = value End Set End Property <Category("My Options")> <Description("My float option")> Public Property OptionFloat() As Single Get Return _optionFloat End Get Set(ByVal value As Single) _optionFloat = value End Set End Property End Class
public class OptionPageGrid : DialogPage { private int _optionInt = 256; private float _optionFloat = 3.14F; [Category("My Options")] [Description("My integer option")] public int OptionInteger { get { return _optionInt; } set { _optionInt = value; } } [Category("My Options")] [Description("My float option")] public float OptionFloat { get { return _optionFloat; } set { _optionFloat = value; } } }
Hinweis
Die OptionPageGrid Kategorie, die „My Kategorie mit dem Namen“ besteht nun zwei Eigenschaften, OptionInteger und OptionFloat.
Fügen Sie ProvideProfileAttribute der MyToolsOptions-Klasse hinzu, und weisen Sie ihr das CategoryName „My Kategorie“, weisen Sie ihm das My „Einstellungen“ ObjectName und Satz IsToolsOptionPage zu true. legt das categoryResourceID, das objectNameResourceID und das DescriptionResourceID in die entsprechende Zeichenfolgenressource ID ab, die zuvor erstellt wurde.
<ProvideProfileAttribute(GetType(OptionPageGrid), "My Category", "My Settings", 106, 107, True, DescriptionResourceID:=108)> <Guid(GuidList.guidMyToolsOptionsPkgString)> Public NotInheritable Class MyToolsOptions Inherits Package
[ProvideProfileAttribute( typeof(OptionPageGrid), "My Category", "My Settings", 106, 107, true, DescriptionResourceID = 108)] [Guid(GuidList.guidMyToolsOptionsPkgString)] public sealed class MyToolsOptions : Package
Erstellen Sie das Projekt, und stellen Sie sicher, dass es fehlerfrei kompiliert.
Untersuchen der Systemregistrierung
In diesem Abschnitt überprüfen Sie die Systemregistrierungs Dateisystemeinträgen, die von ProvideProfileAttributegemacht werden.
Um die Systemregistrierung überprüfen
Starten Sie das Projekt im Debugmodus, indem Sie F5 drücken.
Dadurch wird Visual Studio Exp und schreibt die Argumente von ProvideProfileAttribute die Systemregistrierung.
Hinweis
Zwei Versionen von Visual Studio sind jetzt geöffnet.
Schließen Sie die Debuginformationen Instanz von Visual Studio.
Führen Sie den Registrierungs-Editor aus, und überprüfen Sie den Registrierungseintrag für HKCU \ Software \ Microsoft \ VisualStudio \ 10.0Exp_Config \ UserSettings \ MyCategory_MySettings. In der folgenden Tabelle werden die Unterschlüssel des Eintrags an (die GUID unterscheidet sich).
Name
Daten
(Standard)
#107
Kategorie
{ba1e23e3-fecc-425d-8259-06c40cfac1b6}
Beschreibung
#108
Package
{a2192704-7d66-44b7-b61b-44ed96aace98}
Der Wert für „Standard Unterschlüssel #107“ bezieht sich auf die Zeichenfolgenressource „Meine Einstellungen“ an. Der Wert für „unterschlüssel Beschreibung #108“ bezieht sich auf die Zeichenfolgenressource „OptionInteger und OptionFloat“ an.
Korrigieren der Systemregistrierung
In diesem Abschnitt korrigieren Sie die Systemregistrierungs Dateisystemeinträgen, die von ProvideProfileAttributegemacht werden.
ProvideProfileAttribute wurde entworfen, um Ressource ID für nicht verwaltete Ressourcen in die Systemregistrierung schreiben. Das Ladeprogramm Ressourcen Visual Studio erwartet nicht verwaltete Ressource ID, um die numerischen Werte verfügen, die mit „#“ vorangestellt werden, und verwaltete Ressourcen, die numerische Werte ohne das Vorausgehen“ # „aufweisen. Daher müssen Sie „#“ für verwaltete Ressource ID löschen.
So korrigieren Sie die Systemregistrierung
Korrigieren Sie den Registrierungseintrag für HKLM \ Software \ Microsoft \ VisualStudio \ 8.0Exp \ UserSettings \ MyCategory_MySettings, indem Sie „#“ von ihren numerischen Unterschlüssel löschen. In der folgenden Tabelle werden die Unterschlüssel des Eintrags an (die GUID unterscheidet sich).
Name
Daten
(Standard)
107
Kategorie
{ba1e23e3-fecc-425d-8259-06c40cfac1b6}
Beschreibung
108
Package
{a2192704-7d66-44b7-b61b-44ed96aace98}
ToolsOptionsPath
Meine Kategorie
Klicken Sie mit der rechten Maustaste auf den Registrierungseintrag and Export ihn in die Datei „settings.reg“ im MyToolsOptions-Projektordner.
Schließen Sie den Registrierungs-Editor.
Klicken Sie mit der rechten Maustaste auf MyToolsOptions-Projektknoten“ settings.reg „, und fügen Sie dem Projekt hinzu.
Öffnen Sie VsPkg.cs oder VsPkg.vb und kommentieren Sie ProvideProfileAttribute und seine Argumente.
'<ProvideProfileAttribute(GetType(OptionPageGrid), "My Category", "My Settings", 106, 107, True, DescriptionResourceID := 108)>
//[ProvideProfileAttribute( // typeof(OptionPageGrid), "My Category", "My Settings", // 106, 107, true, DescriptionResourceID = 108)]
Dadurch wird verhindert, dass die falschen Registrierungseinträge auf die Systemregistrierung umgeschrieben werden.
Klicken Sie mit der rechten Maustaste auf das MyToolsOptions-Projekt, und klicken Sie dann auf Eigenschaften.
Klicken Sie auf die Registerkarte Buildereignisse und fügen Sie folgenden Befehlszeile für Postbuildereignishinzu. Sie müssen den vollständigen Pfad der settings.reg-Datei einschließen (der Pfad unterscheiden sich u. U.)
regedit /s D:\MyToolsOptions\MyToolsOptions\settings.reg
Erstellen Sie die MyToolsOptions-Projektmappe. Die festen numerischen Unterschlüssel werden in die Registrierung geschrieben.
Hinweis
Sie müssen diese Korrekturen auch wenn Sie eine Registrierungsdatei für die endgültige VSPackage-Bereitstellung erstellen.
Untersuchen der Einstellungsdatei
In diesem Abschnitt Kategorien Eigenschaft exportieren Sie Werte in eine Einstellungsdatei. Überprüfen Sie die Datei, und importieren dann die Werte wieder in die Kategorie der Eigenschaft.
So überprüfen Sie die Einstellungsdatei
Starten Sie das Projekt im Debugmodus, indem Sie F5 drücken. Dadurch wird Visual Studio Exp.
Hinweis
Zwei Versionen von Visual Studio sind jetzt geöffnet.
In Visual Studio Exp, auf dem Extras Menü aufOptionen.
Das Dialogfeld Optionen wird geöffnet.
Klicken Sie in der Strukturansicht Erweitern Sie im linken Bereich Meine Kategorie und klicken Sie dann auf Meine Rasterseite.
Das Raster Optionen wird im rechten Bereich angezeigt. Die Eigenschaft ist Meine OptionenKategorie und die Eigenschaftennamen sind OptionFloat und OptionInteger.
Ändern Sie den Wert von OptionFloat bis 3.1416 und OptionInteger bis 12. Klicken Sie auf OK.
Klicken Sie im Menü Extras auf den Befehl Einstellungen importieren und exportieren.
Der Assistent Einstellungen importieren und exportieren .
Stellen Sie sicher, dass Ausgewählte Umgebungseinstellungen exportieren ausgewählt, und klicken Sie dann auf Weitergeklickt wird.
Die Einstellungen für den Export auswählen Seite angezeigt wird.
Klicken Sie auf Meine Einstellungen.
Die Beschreibung Änderungen an OptionInteger und OptionFloat.
Stellen Sie sicher, dass Meine Einstellungen ausgewählt ist, und klicken Sie dann auf Weiter.
Die Nennen Sie die Einstellungsdatei Seite angezeigt wird.
Nennen Sie die neue Einstellungsdatei MySettings.vssettings , und speichern Sie sie in ein entsprechendes Verzeichnis. Klicken Sie auf Fertig stellen.
Die Exportvorgang abgeschlossen Seiten meldet, dass die Einstellungen erfolgreich exportiert wurden.
Zeigen Sie im Menü Datei auf Öffnen, und klicken Sie auf Datei. Suchen Sie MySettings.vssettings, und öffnen Sie sie.
Sie können die Kategorie " - Eigenschaft finden, die Sie im folgenden Abschnitt der Datei exportiert haben (die GUID unterscheidet sich).
<Category name="My Category_My Settings" Category="{4802bc3e-3d9d-4591-8201-23d1a05216a6}" Package="{6bb6942e-014c-489e-a612-a935680f703d}" RegisteredName="My Category_My Settings"> PackageName="Company.MyToolsOptions.MyToolsOptions, MyToolsOptions, Version=1.0.2251.20398, Culture=neutral, PublicKeyToken=d74639816260e962"> <PropertyValue name="OptionFloat">3.1416</PropertyValue> <PropertyValue name="OptionInteger">12</PropertyValue> </Category>
Beachten Sie, dass der gesamte Kategoriename durch das Hinzufügen eines Unterstrichs dem Kategorienamen formatiert ist, der aus dem Objektnamen folgt. OptionFloat und OptionInteger werden in der Kategorie zusammen mit ihren exportierte Werte.
Schließen Sie die Einstellungsdatei, ohne sie zu ändern.
Klicken Sie im Extras Menü auf Optionen, Meine Kategorieerweitern, klicken Sie auf Meine Rasterseite und ändern dann die Werte von OptionFloat und OptionInteger. Klicken Sie auf OK.
Klicken Sie im Extras auf Einstellungen importieren und exportierenMenü die Option Ausgewählte Umgebungseinstellungen importieren, und klicken Sie dann auf Weiter.
Die Aktuelle Einstellungen speichern Seite angezeigt wird.
Wählen Sie Nein, nur neue Einstellungen importieren , und klicken Sie dann auf Weiter.
Die Auflistung von Einstellungen für den Import auswählen Seite angezeigt wird.
Wählen Sie die MySettings.vssettings-Datei im Meine Einstellungen Knoten der TreeView aus. Wenn die Datei nicht in der Strukturansicht angezeigt wird, klicken Sie auf Durchsuchen und suchen Sie es. Klicken Sie auf Next.
Das Einstellungen für den Import auswählen wird angezeigt.
Stellen Sie sicher, dass Meine Einstellungen ausgewählt ist, und klicken Sie dann auf Fertig stellen. Wenn die Importvorgang abgeschlossen Seite angezeigt wird, klicken Sie auf Schließen.
Zeigen Sie im Menü Extras Klicken Sie auf Optionen, erweitern Sie Meine Kategorie, klicken Sie auf Mein Rasterseite und überprüfen Sie, ob die Eigenschaft Kategorien von Werten wiederhergestellt wurden.
Siehe auch
Konzepte
Unterstützung für Einstellungskategorien