Controlando configurações de Opções
Os suplementos do Visual Studio foram substituídos no Visual Studio 2013. Você deve atualizar seus suplementos para as extensões VSPackage. Para obter mais informações sobre atualização, consulte Perguntas frequentes: convertendo suplementos em extensões VSPackage.
Você pode escrever código para ativar ou desativar muitas das configurações nas páginas da caixa de diálogo Opções (referida daqui por diante como Páginas de opções). Use apenas a propriedade de Properties, a propriedade de Value, e o método de Item do objeto de DTE no modelo de automação do Visual Studio.
Dica
Embora muitos itens em muitas páginas de Opções possam ser acessados por meio de programação, determinadas páginas podem conter itens que não podem ser acessados.Além disso, é possível que uma própria página de Opções não seja acessível.Se você não puder afetar uma configuração usando o modelo de automação, você poderá fazer isso usando SDK do Visual Studio.Para obter mais informações, consulte "Adicionando configurações nas páginas de opções existentes" adiante neste documento.Para obter uma lista de opções programaticamente acessíveis e seus nomes exatos, consulte “Nomes de itens de propriedade” em Determinando os nomes de itens de propriedades em páginas Opções.
Para abrir a caixa de diálogo Opções no IDE (ambiente de desenvolvimento integrado), no menu Ferramentas, clique em Opções.
Exibindo Configurações de Opções
Use a coleção Properties e o objeto Property para acessar configurações em uma página de Opções . O seguinte exemplo do Visual Studio exibe os nomes, os valores atuais e os tipos para os itens na 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
O exemplo a seguir exibe as propriedades disponíveis na página Opções para a Lista de Tarefas (no nó Ambiente). Também lista os valores disponíveis para o comentário Lista de tokens.
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
Esse exemplo lista as configurações programáveis para a página Opções de Formatação (em 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
Alterando Configurações das Opções
Além de poder exibir o valor de uma configuração em uma página de Opções, você também pode alterar o valor. Os exemplos a seguir do Visual Studio demonstram como fazer isso.
Dica
Embora você possa alterar o valor dos controles em uma página existente de Opções, não é possível adicionar, remover nem modificar os controles ou as configurações.Para especificar suas próprias configurações, você deve criar uma página Opções personalizada.Para obter mais informações, consulte Como criar páginas de opções personalizadas.
O primeiro exemplo (ToolOpt1) ativa/desativa o valor booliano de ReuseSavedActiveDocWindow, que é o nome da opção Reutilizar a janela do documento atual, se tiver sido salva na página Documentos no nó Ambiente.
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
O exemplo a seguir altera e, em seguida, redefine o valor Tamanho da tabulação na seção Guias da página Básico no nó 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
Esse exemplo altera uma configuração na página Fontes e Cores sob o nó Ambiente.
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
Esse exemplo ativa a numeração de linha para vários idiomas no nó 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
Adicionando Configurações a Páginas de Opções Existentes
Você não pode usar o modelo de automação do Visual Studio para adicionar configurações a uma página Opções existente ou alterar configurações existentes. Para fazer esses tipos de modificação, você deve usar o SDK do Visual Studio. Para obter mais informações, consulte o site Portal do parceiro do ecossistema de ferramentas de desenvolvimento.
Consulte também
Tarefas
Como criar páginas de opções personalizadas
Como alterar características da janela
Instruções passo a passo: criando um assistente
Conceitos
Gráfico do modelo de objetos automation
Outros recursos
Criando e controlando janelas de ambiente