Passo a passo: Criando uma categoria de configurações
Esta explicação passo a passo, você pode criar um Visual Studio categoria de configurações e usá-lo para salvar os valores para e restaurar os valores de um arquivo de configurações. Uma categoria é um grupo de propriedades relacionadas que aparecem como um "ponto de configurações personalizadas;" ou seja, como uma caixa de seleção no Import and Export Settings Wizard. Para iniciar o assistente, no Ferramentas menu, clique em Importar e exporta configurações. As configurações salvas ou restauradas como uma categoria e configurações individuais não são exibidas no assistente. Para obter mais informações, consulte Personalizando configurações de desenvolvimento no Visual Studio.
A estrutura de pacote gerenciado (MPF) suporta a criação de categorias de configurações com muito pouco código adicional. Você cria um VSPackage para fornecer um recipiente para a categoria por subclassificação o Package classe. Você cria a categoria propriamente dito, derivando-lo do DialogPage classe.
Dica
Embora DialogPage pode fornecer uma interface de usuário personalizada (UI) ou uma grade de propriedade, nenhum deles é usado pelo Gerenciador de configurações.
Para iniciar este passo a passo, você deve primeiro concluir a primeira seção do Passo a passo: Criando uma página de opções. A grade de propriedade de opções resultante permite examinar e alterar as propriedades da categoria. Depois de salvar a categoria de propriedade em um arquivo de configurações, você pode examinar o arquivo para ver como os valores de propriedade são armazenados.
Pré-requisitos
Para concluir este passo a passo, você deve instalar o SDL do Visual Studio 2010.
Dica
Para obter mais informações sobre o SDK de Visual Studio, consulte Ampliando a visão geral de Visual Studio.Para descobrir como fazer o download do SDK do Visual Studio, consulte Visual Studio extensibilidade Developer Center no site do MSDN.
Locais para o modelo de projeto de pacote de Visual Studio
O modelo de projeto do pacote de Visual Studio pode ser encontrado em três locais diferentes de Novo projeto caixa de diálogo:
Em Visual Basic extensibilidade. O idioma padrão do projeto é Visual Basic.
Em C# extensibilidade. O idioma padrão do projeto é C#.
Em outra extensibilidade de tipos de projeto. O idioma padrão do projeto é C++.
Criar uma categoria de configurações
Nesta seção, você deve criar uma categoria de configurações usando o Visual Studio modelo de projeto do pacote. Você pode usar um ponto de configurações personalizadas para salvar e restaurar os valores da categoria configurações.
Para criar uma categoria de configurações
Concluir a primeira seção do Passo a passo: Criando uma página de opções.
Clique com o botão direito no nó do projeto MyToolsOptions e clique em Set as Startup Project.
Abra o arquivo VSPackage.resx e adicionar esses recursos de seqüência de caracteres de três:
Nome
Valor
106
Minha categoria
107
Minhas configurações
108
OptionInteger e OptionFloat
Isso cria recursos que a categoria "My Category" do nome, o objeto "My Settings" e a descrição da categoria "OptionInteger e OptionFloat".
Dica
Desses três, somente o nome da categoria não aparecem no Assistente para importar e exportar configurações.
Abra o arquivo MyToolsOptionsPackage.cs ou MyToolsOptionsPackage.vb no projeto MyToolsOptions e adicione um float propriedade chamada OptionFloat para o OptionPageGrid de classe, conforme mostrado no exemplo a seguir.
Public Class OptionPageGrid Inherits DialogPage Private _optionInt As Integer = 256 Private _optionFloat As Single = 3.14F <Category("My Options")> <Description("My integer option")> Public Property OptionInteger() As Integer Get Return _optionInt End Get Set(ByVal value As Integer) _optionInt = value End Set End Property <Category("My Options")> <Description("My float option")> Public Property OptionFloat() As Single Get Return _optionFloat End Get Set(ByVal value As Single) _optionFloat = value End Set End Property End Class
public class OptionPageGrid : DialogPage { private int _optionInt = 256; private float _optionFloat = 3.14F; [Category("My Options")] [Description("My integer option")] public int OptionInteger { get { return _optionInt; } set { _optionInt = value; } } [Category("My Options")] [Description("My float option")] public float OptionFloat { get { return _optionFloat; } set { _optionFloat = value; } } }
Dica
O OptionPageGrid categoria denominada "My Category" agora consiste em duas propriedades, OptionInteger e OptionFloat.
Adicionar um ProvideProfileAttribute para o MyToolsOptions de classe e dê a ele o CategoryName "My Category", dê a ele o ObjectName "My Settings" e defina IsToolsOptionPage como true. definir o categoryResourceID, objectNameResourceID e DescriptionResourceID para o recurso de seqüência de caracteres correspondente IDs criados anteriormente.
<ProvideProfileAttribute(GetType(OptionPageGrid), "My Category", "My Settings", 106, 107, True, DescriptionResourceID:=108)> <Guid(GuidList.guidMyToolsOptionsPkgString)> Public NotInheritable Class MyToolsOptions Inherits Package
[ProvideProfileAttribute( typeof(OptionPageGrid), "My Category", "My Settings", 106, 107, true, DescriptionResourceID = 108)] [Guid(GuidList.guidMyToolsOptionsPkgString)] public sealed class MyToolsOptions : Package
Compile o projeto e verifique se ele foi compilado sem erros.
Examinando o registro do sistema
Nesta seção, você pode examinar as entradas do registro do sistema feitas por ProvideProfileAttribute.
Para examinar o registro do sistema
Inicie o projeto no modo de depuração pressionando F5.
Isso inicia Visual Studio Exp e grava os argumentos do ProvideProfileAttribute no registro do sistema.
Dica
Duas versões do Visual Studio agora estão abertos.
Feche a instância de depuração do Visual Studio.
Execute o Editor do registro e examine a entrada do registro para HKCU\Software\Microsoft\VisualStudio\10.0Exp_Config\UserSettings\MyCategory_MySettings. A tabela a seguir mostra as subchaves da entrada (e seus GUIDs serão diferentes).
Nome
Dados
(Padrão)
#107
<strong>Categoria</strong>
{ba1e23e3-fecc-425d-8259-06c40cfac1b6}
Descrição
#108
Pacote
{a2192704-7d66-44b7-b61b-44ed96aace98}
O valor padrão da subchave "# 107" refere-se ao recurso de seqüência de caracteres "My Settings". O valor da subchave descrição "# 108" refere-se ao recurso de seqüência de caracteres "OptionInteger e OptionFloat".
Corrigindo o registro do sistema
Nesta seção, você pode corrigir as entradas do registro do sistema feitas por ProvideProfileAttribute.
ProvideProfileAttributefoi projetado para gravar o recurso IDs para recursos não gerenciados no registro do sistema. O Visual Studio carregador de recursos espera IDs ter valores numéricos de recurso não gerenciado precedido por "#" e recursos para que os valores numéricos com nenhum precedente "#" gerenciados. Portanto, você precisa excluir o "#" para identificações de recurso gerenciada.
Para corrigir o registro do sistema
Corrigi a entrada do registro HKLM\Software\Microsoft\VisualStudio\8.0Exp\UserSettings\MyCategory_MySettings, excluindo "#" a partir de suas subchaves numéricos. A tabela a seguir mostra as subchaves da entrada (e seus GUIDs serão diferentes).
Nome
Dados
(Padrão)
107
<strong>Categoria</strong>
{ba1e23e3-fecc-425d-8259-06c40cfac1b6}
Descrição
108
Pacote
{a2192704-7d66-44b7-b61b-44ed96aace98}
ToolsOptionsPath
Minha categoria
Clique com o botão direito na entrada do registro e exportá-lo para o arquivo "settings.reg" na pasta do projeto MyToolsOptions.
Feche o Registry Editor.
Clique com o botão direito no nó do projeto MyToolsOptions e adicione "settings.reg" ao projeto.
Abra o VsPkg.cs ou VsPkg.vb e comente ProvideProfileAttribute e seus argumentos.
'<ProvideProfileAttribute(GetType(OptionPageGrid), "My Category", "My Settings", 106, 107, True, DescriptionResourceID := 108)>
//[ProvideProfileAttribute( // typeof(OptionPageGrid), "My Category", "My Settings", // 106, 107, true, DescriptionResourceID = 108)]
Isso impede que as entradas de registro incorreto sendo reconfigurado no registro do sistema.
Clique com o botão direito no projeto MyToolsOptions e clique em Propriedades.
Clique no Build Events guia e adicione o seguinte linha de comando do evento de pós-compilação. Você deve incluir o caminho completo do arquivo settings.reg (seu caminho pode variar).
regedit /s D:\MyToolsOptions\MyToolsOptions\settings.reg
Crie a solução de MyToolsOptions. As subchaves numéricas corrigidas serão gravadas no registro.
Dica
Você também deve fazer estas correções quando você cria um ficheiro de registo para implantação de VSPackage final.
Examinando o arquivo de configurações
Nesta seção, você pode exportar os valores de categorias de propriedade para um arquivo de configurações. Você examinar o arquivo e importe os valores de volta para a categoria de propriedade.
Para examinar o arquivo de configurações
Inicie o projeto no modo de depuração pressionando F5. Isso inicia Visual Studio Exp.
Dica
Duas versões do Visual Studio agora estão abertos.
Na Visual Studio Exp diante do Ferramentas menu, clique em Opções de.
A caixa de diálogo Options abrirá.
Na exibição em árvore no painel esquerdo, expanda Categoria Meus e, em seguida, clique em Minha página de grade.
A grade de opções é exibida no painel à direita. A categoria de propriedade é Minhas opções, e os nomes de propriedade são OptionFloat e OptionInteger.
Alterar o valor de OptionFloat para 3.1416 e OptionInteger a 12. Clique em OK.
No menu Tools, clique em Import and Export Settings.
O Import and Export Settings assistente é exibido.
Certifique-se de Export selected environment settings está selecionada e clique em próximo.
O Escolha configurações de exportação página é exibida.
Clique em Minhas configurações de.
O Descrição é alterado para OptionInteger e OptionFloat.
Certifique-se de que Minhas configurações está selecionada e clique em próximo.
O O arquivo de configurações de nome página é exibida.
Nomeie o novo arquivo de configurações MySettings.vssettings e salve-o em um diretório apropriado. Clique em Finish.
O Exportar completa página relatórios de suas configurações foram exportadas com êxito.
Sobre o arquivo , aponte para Abrire, em seguida, clique em arquivo. Localize o MySettings.vssettings e abri-lo.
Você pode encontrar a categoria de propriedade que você exportou na seção a seguir do arquivo (e seus GUIDs serão diferentes).
<Category name="My Category_My Settings" Category="{4802bc3e-3d9d-4591-8201-23d1a05216a6}" Package="{6bb6942e-014c-489e-a612-a935680f703d}" RegisteredName="My Category_My Settings"> PackageName="Company.MyToolsOptions.MyToolsOptions, MyToolsOptions, Version=1.0.2251.20398, Culture=neutral, PublicKeyToken=d74639816260e962"> <PropertyValue name="OptionFloat">3.1416</PropertyValue> <PropertyValue name="OptionInteger">12</PropertyValue> </Category>
Observe que o nome da categoria completo é formado pela adição de um sublinhado ao nome da categoria, seguido do nome do objeto. OptionFloat e OptionInteger são exibidos na categoria, juntamente com seus valores exportados.
Feche o arquivo de configurações sem alterá-lo.
No Ferramentas menu, clique em Opções, expanda Categoria Meus, clique em Minha página de grade e, em seguida, altere os valores de OptionFloat e OptionInteger. Clique em OK.
Sobre o Ferramentas menu, clique em Import and Export Settings, selecione Import selected environment settingse, em seguida, clique em próximo.
O Save Current Settings página é exibida.
Selecione não, apenas importar novas configurações de e, em seguida, clique em próximo.
O Escolha um Collection of Settings to Import página é exibida.
Selecione o arquivo MySettings.vssettings na Minhas configurações de o nó do modo de exibição de árvore. Se o arquivo não aparecer na exibição em árvore, clique em Procurar e localizá-lo. Clique em Next.
O Escolha Settings to Import caixa de diálogo aparece.
Certifique-se de que Minhas configurações está selecionada e clique em Concluir. Quando o Import Complete página for exibida, clique em Fechar.
No Ferramentas menu, clique em Opções, expanda Categoria Meus, clique em meu Página de grade e verifique se os valores de categoria de propriedade foram restaurados.
Consulte também
Conceitos
Suporte para categorias de configurações