Steuern der Einstellungen im Dialogfeld "Optionen" (Menü "Extras")

Viele der Einstellungen auf den Seiten im Dialogfeld Optionen (im Folgenden als Optionsseiten bezeichnet) können Sie durch das Schreiben von Code aktivieren oder deaktivieren. Verwenden Sie einfach die Properties-Eigenschaft, die Value-Eigenschaft und die Item-Methode des DTE-Objekts im Automatisierungsmodell von Visual Studio.

Tipp

Obwohl auf viele Elemente auf vielen Optionsseiten programmgesteuert zugegriffen werden kann, enthalten einige Seiten möglicherweise Elemente, auf die nicht zugegriffen werden kann. Außerdem kann es sein, dass auf eine Optionsseite insgesamt nicht zugegriffen werden kann. Wenn Sie eine Einstellung nicht über das Automatisierungsmodell bearbeiten können, ist dies eventuell über Visual Studio SDK möglich. Weitere Informationen finden Sie weiter unten in diesem Dokument unter "Hinzufügen von Einstellungen zu vorhandenen Optionsseiten". Eine Liste der Optionen, auf die programmgesteuert zugegriffen werden kann, sowie der zugehörigen genauen Namen finden Sie unter "Eigenschaftenelementnamen" in Bestimmen der Namen von Eigenschaftenelementen auf Optionsseiten.

Um das Dialogfeld Optionen in der integrierten Entwicklungsumgebung (IDE) zu öffnen, klicken Sie im Menü Extras auf Optionen.

Anzeigen von Optionseinstellungen

Verwenden Sie die Properties-Auflistung und das Property-Objekt, um auf die Einstellungen einer Optionsseite zuzugreifen. Im folgenden Visual Studio-Makrobeispiel werden die Namen, aktuellen Werte und Typen für die Elemente auf der Seite Dokumente angezeigt.

' Macro code.
Sub PropertiesExample()
    ' Create and initialize a variable to represent the Documents 
    ' Options page.
    Dim envGenTab As EnvDTE.Properties = _
    DTE.Properties("Environment", "Documents")
    Dim prop As EnvDTE.Property
    Dim msg As String

    ' Loop through each item in the Documents Options box.
    For Each prop In envGenTab
            Try
                msg += ("PROP NAME: " & prop.Name & _ 
                " VALUE: " & prop.Value) & _
                "   TYPE: " & prop.Value.GetType.ToString()) & vbCr
            Catch
            End Try
    Next
    MsgBox(msg)
End Sub

Im folgenden Makrobeispiel werden die verfügbaren Eigenschaften auf der Seite Optionen für die Aufgabenliste (unter dem Knoten Umgebung) angezeigt. Das Makro listet zudem alle verfügbaren Werte für den Kommentar Tokenliste auf.

' Macro code.
Sub DisplayProperties()
    ' Variables to represent the properties collection
    ' and each property in the Options dialog box.
    Dim prop As EnvDTE.Property
    Dim props As EnvDTE.Properties
    Dim propVals As Object()
    Dim propVal, msg As String

    ' Represents the Task List Node under the 
    ' Enviroment node.
    props = DTE.Properties("Environment", "TaskList")
    ' Represents the items in the comment Token list
    ' and their priorities (1-3/low-high).
    prop = props.Item("CommentTokens")
    propVals = prop.Value

    Try
        ' List each property name for the Options page
        ' and all of its possible values.
        For Each prop In props
            msg += "PROP NAME: " & prop.Name & vbCr
            For Each propVal In propVals
                msg += "  Value: " & propVal & vbCr
            Next
        Next
        MsgBox(msg)
    Catch ex As System.Exception
        MsgBox("ERROR: " & ex.Message)
    End Try
End Sub

In diesem Beispiel werden alle programmierbaren Einstellungen der Seite Optionen für die Formatierung (unter Text-Editor, C#) aufgeführt.

' Macro code.
Sub PropertiesExample()
    ' Create and initialize a variable to represent the C# 
    ' Formatting text editor options page.
    Dim txtEdCSFormat As EnvDTE.Properties = _
    DTE.Properties("TextEditor", "CSharp - Formatting")
    Dim prop As EnvDTE.Property
    Dim msg As String

    ' Loop through each item in the C# Formatting Options page.
    For Each prop In txtEdCSFormat
        msg += ("PROP NAME: " & prop.Name & "   VALUE: " & _
        prop.Value) & vbCr
    Next
    MsgBox(msg)
End Sub

Ändern von Optionseinstellungen

Sie können den Wert einer Einstellung auf einer Optionsseite nicht nur anzeigen, sondern auch ändern. In den folgenden Visual Studio-Makrobeispielen wird gezeigt, wie Sie dafür vorgehen müssen.

Tipp

Sie können zwar den Wert von Steuerelementen auf einer vorhandenen Optionsseite ändern, aber es ist nicht möglich, Steuerelemente oder Einstellungen hinzuzufügen, zu entfernen oder zu ändern. Um eigene Einstellungen anzugeben, müssen Sie eine benutzerdefinierte Optionsseite erstellen. Weitere Informationen finden Sie unter Gewusst wie: Erstellen benutzerdefinierter Optionsseiten.

Im ersten Beispiel (ToolOpt1) wird der boolesche Wert von ReuseSavedActiveDocWindow umgeschaltet. Dies ist der Name der Option Gespeichertes aktives Dokumentfenster wiederverwenden auf der Seite Dokumente unter dem Knoten Umgebung.

' Macro code.
Sub ToolOpt1()
    Dim props As EnvDTE.Properties = DTE.Properties("Environment", _
    "Documents")
    Dim prop As EnvDTE.Property

    prop = props.Item("ReuseSavedActiveDocWindow")
    ' If value is TRUE, change it to FALSE, or vice-versa.
    MsgBox("PROP NAME: " & prop.Name & "   VALUE: " & prop.Value)
    prop.Value = Not (prop.Value)
    MsgBox("PROP NAME: " & prop.Name & "   VALUE: " & prop.Value)
    ' Change it to the original value.
    prop.Value = Not (prop.Value)
End Sub

Im folgenden Makrobeispiel wird der Wert Tabstoppgröße im Bereich Tabstopps der Seite Basic unter dem Knoten Text-Editor geändert und wieder zurückgesetzt.

' Macro code.
Sub ToolOpt2()
    Dim props As EnvDTE.Properties = DTE.Properties("TextEditor", _
    "Basic")
    Dim prop As EnvDTE.Property
    Dim tmp As String

    prop = props.Item("TabSize")
    ' Set a new value for Tab Size.
    MsgBox("PROP NAME: " & prop.Name & "   VALUE: " & prop.Value)
    tmp = prop.Value
    prop.Value = 10
    MsgBox("PROP NAME: " & prop.Name & "   VALUE: " & prop.Value)
    ' Change it back to the original value.
    prop.Value = tmp
    MsgBox("PROP NAME: " & prop.Name & "   VALUE: " & prop.Value)
End Sub

In diesem Makrobeispiel wird eine Einstellung auf der Seite Schriftarten und Farben unter dem Knoten Umgebung geändert.

' Macro code.
Sub ToolOpt3()
    ' Changes the background color of text in the Fonts and Colors
    ' page of the Options dialog box on the Tools menu.
    Dim props As EnvDTE.Properties
    Dim prop As EnvDTE.Property
    Dim fontColorItems As EnvDTE.FontsAndColorsItems

    props = DTE.Properties("FontsAndColors", "TextEditor")
    prop = props.Item("FontsAndColorsItems")
    fontColorItems = prop.Object

    Try
        MsgBox("NAME: " & prop.Name & vbCr & "BACKGROUND VALUE: " & _
        CStr(fontColorItems.Item("Plain Text").Background.ToString))
        ' Turn the text background from its current color to red.
        fontColorItems.Item("Plain Text").Background = 255
        MsgBox("NAME: " & prop.Name & vbCr & "BACKGROUND VALUE: " & _
        Hex(fontColorItems.Item("Plain Text").Background.ToString))
    Catch ex As System.Exception
        MsgBox("ERROR: " & ex.Message)
    End Try
End Sub

In diesem Makrobeispiel wird die Zeilennummerierung für mehrere Sprachen im Knoten Text-Editor eingeschaltet.

' Macro code.
Sub TurnOnLineNumbers()
   DTE.Properties("TextEditor", "Basic").Item("ShowLineNumbers") _
   .Value = True
   DTE.Properties("TextEditor", "PlainText").Item("ShowLineNumbers") _
   .Value = True
   DTE.Properties("TextEditor", "CSharp").Item("ShowLineNumbers") _
   .Value = True
   DTE.Properties("TextEditor", "HTML/XML").Item("ShowLineNumbers") _
   .Value = True
   DTE.Properties("TextEditor", "C/C++").Item("ShowLineNumbers") _
   .Value = True
   DTE.Properties("TextEditor", "Visual JSharp") _
   .Item("ShowLineNumbers").Value = True
End Sub

Hinzufügen von Einstellungen zu vorhandenen Optionsseiten

Sie können das Visual Studio-Automatisierungsmodell nicht verwenden, um Einstellungen zu einer vorhandenen Optionsseite hinzuzufügen oder um vorhandene Einstellungen zu ändern. Für solche Änderungen müssen Sie Visual Studio SDK verwenden. Weitere Informationen finden Sie auf der Website Development Tools Ecosystem Partner Portal.

Siehe auch

Aufgaben

Gewusst wie: Erstellen benutzerdefinierter Optionsseiten

Gewusst wie: Ändern des Erscheinungsbilds eines Fensters

Gewusst wie: Erstellen von Add-Ins

Exemplarische Vorgehensweise: Erstellen eines Assistenten

Konzepte

Diagramm "Automationsobjektmodell"

Weitere Ressourcen

Erstellen und Steuern von Umgebungsfenstern

Erstellen von Add-Ins und Assistenten

Referenz zur Automatisierung und Erweiterbarkeit