Controllo delle impostazioni relative alle opzioni
È possibile scrivere codice per attivare o disattivare numerose impostazioni nelle pagine della finestra di dialogo Opzioni, qui di seguito chiamate pagine Opzioni. È sufficiente utilizzare le proprietà Properties e Value e il metodo Item dell'oggetto DTE nel modello di automazione di Visual Studio.
Nota
Sebbene sia possibile accedere a numerosi elementi in molte pagine Opzioni a livello di codice, alcune pagine possono contenere elementi a cui non è possibile accedere. È inoltre possibile che una pagina Opzioni stessa non sia accessibile. Se non è possibile modificare un'impostazione tramite il modello di automazione, potrebbe essere possibile farlo utilizzando Visual Studio SDK. Per ulteriori informazioni, vedere la sezione "Aggiunta di impostazioni alle pagine 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 relativo ai nomi degli elementi delle proprietà in Determinazione dei nomi degli elementi delle proprietà nelle pagine delle opzioni.
Per aprire la finestra di dialogo Opzioni nell'ambiente di sviluppo integrato (IDE), scegliere Opzioni dal menu Strumenti.
Visualizzazione delle impostazioni delle pagine Opzioni
Utilizzare l'insieme Properties e l'oggetto Property per accedere alle impostazioni di una pagina Opzioni. Nell'esempio di macro di Visual Studio riportato di seguito vengono visualizzati i nomi, i valori correnti e i tipi di tutti gli elementi presenti nella pagina 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
Try
msg += ("PROP NAME: " & prop.Name & _
" VALUE: " & prop.Value) & _
" TYPE: " & prop.Value.GetType.ToString()) & vbCr
Catch
End Try
Next
MsgBox(msg)
End Sub
Nell'esempio di macro di Visual Studio riportato di seguito vengono visualizzate le proprietà disponibili nella pagina Opzioni dell'Elenco attività nel nodo Ambiente. La macro consente inoltre di elencare 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 Opzioni per Formattazione (in Editor di testo, C#).
' 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 Opzioni
In una pagina Opzioni è possibile non solo visualizzare il valore di un'impostazione, ma anche modificarlo. Negli esempi di macro di Visual Studio riportati di seguito viene illustrato come eseguire questa operazione.
Nota
Sebbene sia possibile modificare il valore dei controlli in una pagina 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 personalizzate.
Nel primo esempio, ToolOpt1, viene attivato e disattivato il valore booleano di ReuseSavedActiveDocWindow che corrisponde al nome dell'opzione Riutilizza la finestra del documento corrente, se salvato, presente nella pagina Documenti nel 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 macro riportato di seguito viene modificato e successivamente reimpostato il valore di Dimensione tabulazione nella sezione Tabulazioni della pagina Di base nel 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 macro viene modificata un'impostazione nella pagina Tipi di carattere e colori nel 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 macro viene attivata la numerazione delle righe per diversi linguaggi nel nodo Editor di testo.
' 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 Opzioni esistenti
Non è possibile utilizzare il modello di automazione di Visual Studio per aggiungere impostazioni in una pagina Opzioni esistente o per modificare le impostazioni esistenti. Per effettuare queste operazioni, è necessario utilizzare Visual Studio SDK. Per ulteriori informazioni, vedere il sito Web del portale dei partner dedicato all'ecosistema di strumenti di sviluppo.
Vedere anche
Attività
Procedura: creare pagine delle opzioni personalizzate
Procedura: modificare le caratteristiche delle finestre
Procedura: creare un componente aggiuntivo
Procedura dettagliata: creazione di una procedura guidata
Concetti
Grafico del modello a oggetti di automazione
Altre risorse
Creazione e controllo delle finestre di ambiente