Compartir a través de


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

Cómo: Crear un complemento

Tutorial: Crear un asistente

Conceptos

Gráfico del modelo de objetos de automatización

Otros recursos

Crear y controlar las ventanas del entorno

Crear complementos y asistentes

Referencia de automatización y extensibilidad