Partager via


Contrôle des paramètres de la boîte de dialogue Options

Mise à jour : novembre 2007

Vous pouvez activer ou désactiver les paramètres des différentes pages dans la boîte de dialogue Options du menu Outils (appelés ci-après "pages Options"). Il suffit d'utiliser les propriétés Properties et Value et la méthode Item de l'objet DTE dans le modèle Automation Visual Studio.

Remarque :

Certains éléments de certaines pages Options ne sont pas accessibles par programme. La plupart des éléments, notamment le commentaire Liste des jetons dans la page Options de la liste des tâches, peuvent être affichés ou modifiés par programme. Toutefois, certaines pages Options, telles que la page Aide dynamique, qui se trouve dans le nœud Aide de la page Environnement, ne le permettent pas. De plus, tandis que certaines pages Options disposent de paramètres programmables, certains de leurs éléments ne sont pas nécessairement accessibles. Si vous constatez que vous ne pouvez pas affecter un paramètre, vous devrez peut-être utiliser le programme Visual Studio Industry Partner (VSIP) pour le faire. Pour plus d'informations, consultez la section « Adding Settings to Existing Options Pages », plus loin dans cette rubrique. Pour obtenir la liste complète des options accessibles par programme et leurs noms exacts, consultez « Noms d'éléments de propriété » dans Détermination des noms d'éléments de propriété dans les pages Options.

Affichage des paramètres d'options

Utilisez la collection Properties et l'objet Property pour accéder aux paramètres pour une page Options existante. L'exemple VSMacro suivant affiche tous les noms et toutes les valeurs actuelles de tous les éléments dans la page "Documents Options".

' 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
        msg += ("PROP NAME: " & prop.Name & "   VALUE: " & _
        prop.Value) & vbCr
    Next
    MsgBox(msg)
End Sub

L'exemple VSMacro suivant affiche toutes les propriétés disponibles dans la page Options de la liste des tâches sous le nœud Environnement. Il répertorie également toutes les valeurs disponibles pour le commentaire Liste des jetons.

' 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

Cet exemple répertorie tous les paramètres programmables pour la page Options sous Éditeur de texte | C# | Mise en forme.

' 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

Modification des paramètres d'options

Si vous pouvez modifier la valeur des contrôles présents sur une page Options existante, vous ne pouvez ajouter, supprimer ou modifier aucun de ses contrôles ou de ses paramètres. Pour spécifier vos propres paramètres, vous devez créer une page Options personnalisée. Pour plus d'informations, consultez Comment : créer des pages d'options Outils personnalisées.

La modification de la valeur d'un élément dans une page Options est très similaire à l'affichage de sa valeur. La macro ci-après montre comment effectuer cette opération.

Le premier exemple (ToolOpt1) bascule la valeur booléenne de ReuseSavedActiveDocWindow, correspondant à l'option "Réutiliser la fenêtre du document actif, si elle a été enregistrée" sur la page Documents du nœud Environnement.

' 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

L'exemple VSMacro suivant modifie puis réinitialise la valeur Taille des tabulations dans la section Tabulations de la page Basic du nœud Éditeur de texte.

' 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

Cet exemple VSMacro modifie un paramètre dans la page Polices et couleurs du nœud Environnement.

' 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

Cet exemple VSMacro active la numérotation en ligne pour plusieurs langages dans le nœud Éditeur de texte de la boîte de dialogue Options.

' 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

Ajout de paramètres à des pages Options existantes

Vous pouvez, à un certain stade, souhaite modifier vos propres paramètres ou les ajouter à des pages Options existantes ; par exemple, ajouter vos propres paramètres de police à la page Polices et couleurs. Le modèle Automation Visual Studio ne permet pas d'effectuer cette opération. Vous devez utiliser le programme Visual Studio Industry Partner (VSIP). Pour plus d'informations, consultez le site Web Visual Studio Industry Partner.

Voir aussi

Tâches

Comment : créer des pages d'options Outils personnalisées

Comment : modifier les caractéristiques d'une fenêtre

Comment : créer un complément

Procédure pas à pas : création d'un Assistant

Concepts

Graphique Modèle d'objet Automation

Autres ressources

Création et contrôle de fenêtres d'environnement

Création de compléments et d'Assistants

Guide de référence de l'extensibilité et de l'automation