Controlar la configuración de opciones
Puede escribir código para activar o desactivar muchas de las opciones de las páginas en el cuadro de diálogo Opciones (en lo sucesivo, haremos referencia a ellas como páginas de opciones).Solo tiene que usar la propiedad Properties, la propiedad Value y el método Item del objeto DTE en el modelo de automatización de Visual Studio.
[!NOTA]
Aunque se puede acceder a muchos elementos de numerosas páginas de opciones mediante programación, ciertas páginas pueden contener elementos a los que no se puede obtener acceso.Además, es posible que una página de opciones sea inaccesible.Si no puede modificar una configuración usando el modelo de automatización, tal vez pueda hacerlo mediante Visual Studio SDK.Para obtener más información, vea la sección "Agregar configuración a las páginas de opciones existentes" más adelante en este documento.Para obtener una lista de las opciones a las que se puede obtener acceso mediante programación y sus nombres exactos, vea "Nombres de elementos de propiedades" en Determinar los nombres de los elementos de propiedades en las páginas de opciones.
Para abrir el cuadro de diálogo Opciones en el entorno de desarrollo integrado (IDE), en el menú Herramientas, haga clic Opciones.
Mostrar la configuración de opciones
Use la colección Properties y el objeto Property para obtener acceso a la configuración de una página de opciones existente.El siguiente ejemplo de Visual Studio muestra los nombres, los valores actuales, y los tipos de los elementos de la página Documentos.
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
El ejemplo siguiente muestra las propiedades disponibles en la página opciones para Lista de tareas (bajo el nodo entorno ).También muestra los valores disponibles para el comentario Lista de símbolos.
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
En este ejemplo se muestra toda la configuración programable de la página de opciones para Formato (en Editor de texto, C#).
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
Cambiar la configuración de opciones
No solo se puede mostrar el valor de una opción de configuración de una página de opciones, sino que también se puede cambiar su valor.Los siguientes ejemplos de Visual Studio se muestra cómo hacerlo.
[!NOTA]
Aunque puede cambiar el valor de los controles en una página de opciones existente, no puede agregar, quitar ni modificar ninguno de sus controles o configuración.Para especificar una configuración propia, debe crear una página de opciones personalizada.Para obtener más información, vea Cómo: Crear páginas de opciones personalizadas.
En el primer ejemplo (ToolOpt1), se alterna el valor booleano de ReuseSavedActiveDocWindow, que es el nombre de la opción Reutilizar la ventana de documento activa si se guardó de la página Documentos del nodo Entorno.
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
El ejemplo siguiente se cambia y después restablece el valor Tamaño de tabulación en la sección tabulaciones de la página Básico bajo el nodo Editor de texto.
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
Este ejemplo cambia un valor en la página Fuentes y colores bajo el nodo entorno.
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
Este ejemplo convierte la numeración de líneas en varios lenguajes del nodo Editor de texto.
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
Agregar configuración a las páginas de opciones existentes
No se puede usar el modelo de automatización de Visual Studio para agregar la configuración a una página de opciones existente o para cambiar la configuración existente. Para realizar esta clase de modificaciones, debe usar Visual Studio SDK.Para obtener más información, visite el sitio web Development Tools Ecosystem Partner Portal.
Vea también
Tareas
Cómo: Crear páginas de opciones personalizadas
Cómo: Cambiar las características de las ventanas
Conceptos
Gráfico del modelo de objetos de automatización
Otros recursos
Crear y controlar las ventanas del entorno