Partilhar via


ControlandoConfiguraçõesde Opções

Você pode escrever código para ativar ou desativar a muitas das configurações nas páginas da Opções caixa de diálogo (daqui em diante chamado de páginas de opções). Basta usar o Properties propriedade, Value propriedade, e Item método da DTE de objeto na Visual Studio modelo de automação.

ObservaçãoObservação

Embora muitos itens em vários Opções páginas podem ser acessadas através de programação, algumas páginas podem conter itens que não podem ser acessados. Além disso, é possível que um Opções página em si não está acessível. Se você não pode afetar uma configuração usando o modelo de automação, você poderá fazê-lo usando o SDK do Visual Studio. Para obter mais informações, consulte "Adicionando configurações existentes opções páginas" posteriormente neste documento. Para obter uma lista de opções acessíveis por meio de programação e seus nomes exatos, consulte "Nomes de Item de propriedade" in Determinando os nomes dos itens de propriedade nas Opções Páginas.

Para abrir o Opções caixa de diálogo no ambiente de desenvolvimento integrado (IDE), na Ferramentas menu, clique em Opções.

Exibindo configurações de opções

Use o Properties coleção e Property o objeto para acessar as configurações em um Opções página. O exemplo de Visual Studio de macro a seguir exibe os nomes, os valores atuais e os tipos de itens de documentos página.

' 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

O exemplo de macro a seguir exibe as propriedades disponíveis na Opções página para o Lista de tarefas (sob o ambiente nó). A macro também lista os valores disponíveis para o comentário lista de Token.

' 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

Este exemplo lista as configurações programáveis para o Opções página formatação (em O Editor de texto, 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

Alterando as configurações de opções

Não só pode exibir o valor de uma configuração em um Opções página, você também pode alterar o valor. Os exemplos de Visual Studio de macro a seguir demonstram como fazer isso.

ObservaçãoObservação

Embora você possa alterar o valor de controles em uma Opções de página, você não pode adicionar, remover ou modificar qualquer um dos controles ou configurações. Para especificar suas próprias configurações, você deve criar um personalizado Opções página. Para obter mais informações, consulte How to: CriarOpçõesde PersonalizarPáginas.

O primeiro exemplo (ToolOpt1) alterna o valor booleano de ReuseSavedActiveDocWindow, que é o nome da reutilizar a janela do documento atual, se salvo opção no documentos página sob o ambiente nó.

' 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

As seguintes alterações de exemplo de macro e redefine o tamanho da tabulação o valor o guias seção a básica página sob o Editor de texto nó.

' 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

Este exemplo de macro altera uma configuração na fontes e cores página sob o ambiente nó.

' 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

Este exemplo de macro ativa a numeração de linhas para vários idiomas no O Editor de texto nó.

' 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

Adicionar configurações para páginas de opções existentes

Não é possível usar o Visual Studio o modelo de automação para adicionar configurações de uma existente Opções de página ou para alterar as configurações existentes, para fazer esses tipos de modificações, você deve usar o SDK do Visual Studio. Para obter mais informações, consulte o Portal de parceiros de ecossistema de ferramentas de desenvolvimento site da Web.

Consulte também

Tarefas

How to: CriarOpçõesde PersonalizarPáginas

How to: Alterar Características da janela

How to: Criar um Adicionar-

Walkthrough: Criando um assistente

Conceitos

Automation Object Model Chart

Outros recursos

Criar e controlar o ambiente Windows

Criação de assistentes e ins Adicionar-

Automation and Extensibility Reference