Freigeben über


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:

  1. Klicken Sie unter Von Visual Basic-Erweiterbarkeit. Die Standardsprache des Projekts ist Visual Basic.

  2. Die C#-Erweiterbarkeit. Die Standardsprache ist C# des Projekts.

  3. 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

  1. Schließen Sie den ersten Abschnitt von Exemplarische Vorgehensweise: Eine Optionsseite erstellenab.

  2. Klicken Sie mit der rechten Maustaste auf MyToolsOptions-Projektknoten, und klicken Sie dann auf Als Startprojekt festlegen.

  3. Ö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.

  4. Ö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.

  5. 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
    
  6. 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

  1. 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.

  2. Schließen Sie die Debuginformationen Instanz von Visual Studio.

  3. 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

  1. 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

  2. Klicken Sie mit der rechten Maustaste auf den Registrierungseintrag and Export ihn in die Datei „settings.reg“ im MyToolsOptions-Projektordner.

  3. Schließen Sie den Registrierungs-Editor.

  4. Klicken Sie mit der rechten Maustaste auf MyToolsOptions-Projektknoten“ settings.reg „, und fügen Sie dem Projekt hinzu.

  5. Ö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.

  6. 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
    
  7. 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

  1. 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.

  2. In Visual Studio Exp, auf dem Extras Menü aufOptionen.

    Das Dialogfeld Optionen wird geöffnet.

  3. 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.

  4. Ändern Sie den Wert von OptionFloat bis 3.1416 und OptionInteger bis 12. Klicken Sie auf OK.

  5. Klicken Sie im Menü Extras auf den Befehl Einstellungen importieren und exportieren.

    Der Assistent Einstellungen importieren und exportieren .

  6. 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.

  7. Klicken Sie auf Meine Einstellungen.

    Die Beschreibung Änderungen an OptionInteger und OptionFloat.

  8. Stellen Sie sicher, dass Meine Einstellungen ausgewählt ist, und klicken Sie dann auf Weiter.

    Die Nennen Sie die Einstellungsdatei Seite angezeigt wird.

  9. 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.

  10. 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.

  11. Schließen Sie die Einstellungsdatei, ohne sie zu ändern.

  12. 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.

  13. 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.

  14. 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.

  15. 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.

  16. 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.

  17. 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

Weitere Ressourcen

VSPackage-Zustand