Condividi tramite


Controllo delle impostazioni relative alle opzioni

Aggiornamento: novembre 2007

È possibile attivare o disattivare le impostazioni delle diverse pagine della finestra di dialogo Opzioni accessibile dal menu Strumenti, in seguito chiamate "Pagine delle opzioni". È sufficiente utilizzare le proprietà Properties e Value e il metodo Item dell'oggetto DTE nel modello di automazione di Visual Studio.

Nota:

Non è possibile accedere a livello di codice ad alcuni elementi presenti in alcune pagine delle opzioni. La maggior parte degli elementi, ad esempio l'Elenco dei token di commento nella pagina Opzioni elenco attività, può essere visualizzata o modificata a livello di codice. Queste operazioni non sono invece possibili per alcune pagine delle opzioni, ad esempio la pagina Guida dinamica contenuta nel nodo Guida della pagina Ambiente. Inoltre, anche se per alcune pagine delle opzioni sono disponibili impostazioni programmabili, alcuni elementi della pagina non sono necessariamente accessibili. Se non è possibile modificare un'impostazione, potrebbe essere necessario utilizzare Programma Visual Studio Industry Partner (VSIP). Per ulteriori informazioni, vedere la sezione "Aggiunta di impostazioni alle pagine delle opzioni esistenti" più avanti in questo argomento. Per un elenco completo delle opzioni accessibili a livello di codice e dei relativi nomi esatti, vedere l'argomento in cui vengono illustrati i nomi degli elementi di proprietà in Determinazione dei nomi degli elementi delle proprietà nelle pagine delle opzioni.

Visualizzazione delle impostazioni delle pagine delle opzioni

Utilizzare l'insieme Properties e l'oggetto Property per accedere alle impostazioni di una pagina delle opzioni esistente. Nell'esempio di VSMacro riportato di seguito vengono visualizzati tutti i nomi e i valori correnti di tutti gli elementi presenti nella pagina delle opzioni dei documenti.

' 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

Nell'esempio di VSMacro riportato di seguito vengono visualizzate tutte le proprietà disponibili nella pagina delle opzioni dell'elenco attività nel nodo Ambiente. Vengono inoltre elencati tutti i valori disponibili per l'Elenco dei token di commento.

' 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 questo esempio vengono elencate tutte le impostazioni programmabili per la pagina delle opzioni in Editor di testo | C# | Formattazione.

' 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

Modifica delle impostazioni delle pagine delle opzioni

Mentre è possibile modificare il valore dei controlli in una pagina delle opzioni esistente, non è possibile aggiungere, rimuovere o modificare nessuno dei controlli o delle impostazioni di quella pagina. Per specificare impostazioni personalizzate, è necessario creare una pagina delle opzioni personalizzata. Per ulteriori informazioni, vedere Procedura: creare pagine delle opzioni degli strumenti personalizzate.

La modifica del valore di un elemento in una pagina delle opzioni è un'operazione molto simile alla visualizzazione del valore corrispondente. Negli esempi di macro riportati di seguito viene illustrato come eseguire questa operazione.

Nel primo esempio, ToolOpt1, viene attivato e disattivato il valore Boolean di ReuseSavedActiveDocWindow che corrisponde all'opzione "Riutilizza la finestra del documento corrente, se salvato" presente nella pagina Documenti del nodo Ambiente.

' 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

Nell'esempio di VSMacro riportato di seguito viene modificato e successivamente reimpostato il valore Dimensione tabulazione nella sezione Tabulazioni della pagina Basic del nodo Editor di testo.

' 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 questo esempio di VSMacro viene modificata un'impostazione nella pagina Tipi di carattere e colori del nodo Ambiente.

' 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 questo esempio di VSMacro viene attivata la numerazione delle righe per diversi linguaggi nel nodo Editor di testo della finestra di dialogo Opzioni.

' 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

Aggiunta di impostazioni alle pagine delle opzioni esistenti

In un determinato momento, si potrebbe desiderare di modificare o di aggiungere impostazioni personalizzate alle pagine delle opzioni esistenti, ad esempio aggiungere impostazioni personalizzate relative ai tipi di carattere nella pagina Tipi di carattere e colori. Questa operazione non può essere eseguita tramite il modello di automazione di Visual Studio. È infatti necessario utilizzare Programma Visual Studio Industry Partner (VSIP) Per ulteriori informazioni, visitare il sito Web di Visual Studio Industry Partner (informazioni in lingua inglese).

Vedere anche

Attività

Procedura: creare pagine delle opzioni degli strumenti personalizzate

Procedura: modificare le caratteristiche delle finestre

Procedura: creare un componente aggiuntivo

Procedura dettagliata: creazione di una procedura guidata

Concetti

Grafico del modello oggetto di automazione

Altre risorse

Creazione e controllo delle finestre di ambiente

Creazione di componenti aggiuntivi e di procedure guidate

Riferimenti su extensibility e automazione