Partilhar via


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:

  1. Em Visual Basic extensibilidade. O idioma padrão do projeto é Visual Basic.

  2. Em C# extensibilidade. O idioma padrão do projeto é C#.

  3. 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

  1. Concluir a primeira seção do Passo a passo: Criando uma página de opções.

  2. Clique com o botão direito no nó do projeto MyToolsOptions e clique em Set as Startup Project.

  3. 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.

  4. 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.

  5. 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
    
  6. 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

  1. 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.

  2. Feche a instância de depuração do Visual Studio.

  3. 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

  1. 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

  2. Clique com o botão direito na entrada do registro e exportá-lo para o arquivo "settings.reg" na pasta do projeto MyToolsOptions.

  3. Feche o Registry Editor.

  4. Clique com o botão direito no nó do projeto MyToolsOptions e adicione "settings.reg" ao projeto.

  5. 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.

  6. 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
    
  7. 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

  1. 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.

  2. Na Visual Studio Exp diante do Ferramentas menu, clique em Opções de.

    A caixa de diálogo Options abrirá.

  3. 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.

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

  5. No menu Tools, clique em Import and Export Settings.

    O Import and Export Settings assistente é exibido.

  6. Certifique-se de Export selected environment settings está selecionada e clique em próximo.

    O Escolha configurações de exportação página é exibida.

  7. Clique em Minhas configurações de.

    O Descrição é alterado para OptionInteger e OptionFloat.

  8. 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.

  9. 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.

  10. 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.

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

  12. 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.

  13. 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.

  14. 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.

  15. 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.

  16. Certifique-se de que Minhas configurações está selecionada e clique em Concluir. Quando o Import Complete página for exibida, clique em Fechar.

  17. 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

Outros recursos

Estado VSPackage