Criar uma categoria de configurações

Nesta demonstração, você vai criar uma categoria de configurações do Visual Studio e usá-la para salvar e restaurar valores de um arquivo de configurações. Uma categoria de configurações é um grupo de propriedades relacionadas que aparecem como um "ponto de configurações personalizadas"; ou seja, como uma caixa de seleção no assistente Configurações de importação e exportação . (Você o encontra no menu Ferramentas.) As configurações são salvas ou restauradas como uma categoria, e as configurações individuais não são exibidas no assistente. Para obter mais informações, confira Configurações do ambiente.

Você cria uma categoria de configurações derivando-a da classe DialogPage.

Para iniciar este passo a passo, você deve concluir a primeira seção de Criar uma página de Opções. A grade da propriedade Options resultante permite examinar e alterar as propriedades na categoria. Depois de salvar a categoria de propriedade em um arquivo de configurações, examine o arquivo para ver como os valores de propriedade são armazenados.

Criar uma categoria de configurações

Nesta seção, você usa um ponto de configurações personalizado para salvar e restaurar os valores da categoria de configurações.

Para criar uma categoria de configurações

  1. Conclua Criar uma página de Opções.

  2. Abra o arquivo VSPackage.resx e adicione estes três recursos de cadeias de caracteres:

    Nome Valor
    106 Minha categoria
    107 Minhas Configurações
    108 OptionInteger e OptionFloat

    Isso cria recursos que nomeiam a categoria "Minha categoria", o objeto "Minhas configurações" e a descrição da categoria "OptionInteger e OptionFloat".

    Observação

    Desses três, apenas o nome da categoria não aparece no assistente Configurações de importação e exportação.

  3. Em MyToolsOptionsPackage.cs, adicione uma propriedade nomeada float OptionFloat à classe OptionPageGrid, conforme mostrado no exemplo a seguir.

    public class OptionPageGrid : DialogPage
    {
        private int optionInt = 256;
        private float optionFloat = 3.14F;
    
        [Category("My Options")]
        [DisplayName("My Integer option")]
        [Description("My integer option")]
        public int OptionInteger
        {
            get { return optionInt; }
            set { optionInt = value; }
        }
        [Category("My Options")]
        [DisplayName("My Float option")]
        [Description("My float option")]
        public float OptionFloat
        {
            get { return optionFloat; }
            set { optionFloat = value; }
        }
    }
    

    Observação

    A categoria OptionPageGrid chamada "Minha categoria" agora consiste nas duas propriedades, OptionInteger e OptionFloat.

  4. Adicione ProvideProfileAttribute à classe MyToolsOptionsPackage e dê a ela o CategoryName "Minha categoria", dê a ela o ObjectName "Minhas configurações" e defina isToolsOptionPage como true. Defina categoryResourceID, objectNameResourceID e DescriptionResourceID para os IDs de recurso de cadeias de caracteres correspondentes criadas anteriormente.

    [ProvideProfileAttribute(typeof(OptionPageGrid),
        "My Category", "My Settings", 106, 107, isToolsOptionPage:true, DescriptionResourceID = 108)]
    
  5. Compile o projeto e comece a depuração. Na instância experimental, você verá que Minha página de grade agora tem valores inteiros e flutuantes.

Analise o arquivo de configurações

Nesta seção, você exporta valores de categoria de propriedade para um arquivo de configurações. Examine o arquivo e, em seguida, importe os valores de volta para a categoria de propriedade.

  1. Pressione F5 para iniciar o projeto no modo de depuração. Isso inicia a instância experimental.

  2. Abra a caixa de diálogo Ferramentas>Opções.

  3. No modo de exibição de árvore no painel esquerdo, expanda Minha categoria e clique em Minha página de grade.

  4. Altere o valor de OptionFloat para 3.1416 e de OptionInteger para 12. Clique em OK.

  5. No menu, Ferramentas, clique em Importar e Exportar Configurações.

    O assistente Configurações de importação e exportação é exibido.

  6. Verifique se a opção Exportar configurações de ambiente selecionadas está selecionada e clique em Avançar.

    A página Escolher configurações para exportar é exibida.

  7. Clique em Minhas configurações.

    A Descrição muda para OptionInteger e OptionFloat.

  8. Verifique se Minhas configurações é a única categoria selecionada e clique em Avançar.

    A página Nomear seu arquivo de configurações é exibida.

  9. Nomeie o novo arquivo de configurações MySettings.vssettings e salve-o em um diretório apropriado. Clique em Concluir.

    O arquivo .vssettings é o arquivo de configurações do Visual Studio. O esquema do arquivo está aberto. Mais comumente, o esquema segue uma estrutura XML em que cada categoria é uma marca, a qual pode ela mesma conter marcas de subcategoria. Essas marcas de subcategoria podem conter marcas de valor de propriedade. Embora a maioria dos pacotes use a estrutura comum, qualquer pacote no Visual Studio pode contribuir com XML arbitrário para o arquivo com o esquema escolhido.

    A página Exportação concluída informa que suas configurações foram exportadas com êxito.

  10. No menu Arquivo , aponte para Abrire clique em Arquivo. Localize o arquivo MySettings.vssettings e abra-o.

    Você pode encontrar a categoria de propriedade exportada na seção a seguir do arquivo (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="MyToolsOptionsPackage">
       <PropertyValue name="OptionFloat">3.1416</PropertyValue>
       <PropertyValue name="OptionInteger">12</PropertyValue>
    </Category>
    

    Observe que o nome completo da categoria é formado pela adição de um sublinhado ao nome da categoria seguido pelo nome do objeto. OptionFloat e OptionInteger aparecem na categoria, juntamente com seus valores exportados.

  11. Feche o arquivo de configurações sem alterá-lo.

  12. No menu Ferramentas, clique em Opções, expanda Minha categoria, clique em Minha página de grade e altere o valor de OptionFloat para 1.0 e de OptionInteger para 1. Clique em OK.

  13. No menu Ferramentas, clique em Configurações de importação e exportação, selecione Importar configurações de ambiente selecionadas e clique em Avançar.

    A página Salvar configurações atuais é exibida.

  14. Selecione Não, apenas importe as novas configurações e clique em Avançar.

    A página Escolher uma coleção de configurações para importar é exibida.

  15. Selecione o arquivo MySettings.vssettings no nó Minhas configurações da exibição em árvore. Se o arquivo não aparecer no modo de exibição de árvore, clique em Procurar e localize-o. Clique em Avançar.

    A caixa de diálogo Escolher configurações para importar é exibida.

  16. Verifique se a opção Minhas configurações está selecionada e clique em Concluir. Quando a página Importação concluída aparecer, clique em Fechar.

  17. No menu Ferramentas, clique em Opções, expanda Minha categoria, clique em Minha página de grade e verifique se os valores da categoria de propriedade foram restaurados.