Suporte para configurações de usuário

Um VSPackage pode definir uma ou mais categorias de configurações, que são grupos de variáveis de estado que persistem quando um usuário escolhe o comando Importar/Exportar configurações no menu Ferramentas . Para habilitar essa persistência, use as APIs de configurações no SDK do Visual Studio.

Uma entrada do Registro que é conhecida como um ponto de configurações personalizadas e um GUID define a categoria de configurações de um VSPackage. Um VSPackage pode oferecer suporte a várias categorias de configurações, cada uma definida por um Ponto de Configurações Personalizado.

  • As implementações de configurações baseadas em assemblies de interoperabilidade (usando a IVsUserSettings interface) devem criar o Ponto de Configurações Personalizadas editando o Registro ou usando um script do Registrador (arquivo .rgs). Para obter mais informações, consulte Criando scripts de registrador.

  • O código que usa o MPF (Managed Package Framework) deve criar Pontos de Configurações Personalizados anexando um ProvideProfileAttribute ao VSPackage para cada Ponto de Configurações Personalizadas.

    Se um único VSPackage oferecer suporte a vários Pontos de Configurações Personalizadas, cada Ponto de Configurações Personalizadas será implementado por uma classe separada e cada um será registrado por uma instância exclusiva da ProvideProfileAttribute classe. Consequentemente, uma classe de implementação de configurações pode oferecer suporte a mais de uma categoria de configurações.

Configurações personalizadas Detalhes da entrada do Registro do ponto

Pontos de configurações personalizadas são criados em uma entrada do Registro no seguinte local: HKLM\Software\Microsoft\VisualStudio\Version\UserSettings\<<CSPName>, onde <CSPName> é o nome do ponto de configurações personalizadas que o VSPackage oferece suporte e< Version>> é a versão do Visual Studio, por exemplo, 8.0.

Observação

O caminho raiz de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> pode ser substituído por uma raiz alternativa quando o ambiente de desenvolvimento integrado (IDE) do Visual Studio é inicializado. Para obter mais informações, consulte Opções de linha de comando.

A estrutura da entrada de registro é ilustrada abaixo:

HKLM\Software\Microsoft\VisualStudio\Version>\UserSettings\<

<CSPName>= s '#12345'

Pacote = '{XXXXXX XXXX XXXX XXXX XXXXXXXXX}'

Categoria = '{YYYYYY YYYY YYYY YYYY YYYYYYYYY}'

ResourcePackage = '{ZZZZZZ ZZZZ ZZZZ ZZZZ ZZZZZZ}'

AlternateParent = NomeDoCategoria

Nome Tipo Dados Descrição
(Padrão) REG_SZ Nome do ponto de configurações personalizadas O nome da chave, , <CSPName>é o nome não localizado do Ponto de Configurações Personalizadas.

Para implementações baseadas em MPF, o nome da chave é obtido combinando os categoryName argumentos e objectName do ProvideProfileAttribute construtor em categoryName_objectName.

A chave pode estar vazia ou pode conter a ID de referência para a cadeia de caracteres localizada em uma DLL satélite. Esse valor é obtido do objectNameResourceID argumento para o ProvideProfileAttribute construtor.
Pacote REG_SZ GUID O GUID do VSPackage que implementa o ponto de configurações personalizadas.

Implementações baseadas em MPF usando a ProvideProfileAttribute classe, use o argumento do objectType construtor contendo os VSPackage's Type e reflexão para obter esse valor.
Categoria REG_SZ GUID GUID identificando a categoria de configurações.

Para implementações baseadas em assemblies de interoperabilidade, esse valor pode ser um GUID escolhido arbitrariamente, que o IDE do Visual Studio passa para os ExportSettings métodos e .ImportSettings Todas as implementações desses dois métodos devem verificar seus argumentos GUID.

Para implementações baseadas em MPF, esse GUID é obtido pela classe da que implementa Type o mecanismo de configurações do Visual Studio.
ResourcePackage REG_SZ GUID Opcional.

Caminho para DLL satélite que contém cadeias de caracteres localizadas se o VSPackage de implementação não fornecê-las.

MPF usa reflexão para obter o recurso correto VSPackage, para que a ProvideProfileAttribute classe não defina esse argumento.
AlternateParent REG_SZ Nome da pasta na página Opções de Ferramentas que contém este Ponto de Configurações Personalizadas. Opcional.

Você deve definir esse valor somente se uma implementação de configurações oferece suporte a páginas Opções de ferramentas que usam o mecanismo de persistência no SDK do Visual Studio em vez do mecanismo no modelo de automação para salvar o estado.

Nesses casos, o valor na chave AlternateParent é a topictopic.sub-topic seção da cadeia de caracteres usada para identificar a página ToolsOptions específica. Por exemplo, para a página "TextEditor.Basic" ToolsOptions, o valor de AlternateParent seria "TextEditor".

Quando ProvideProfileAttribute gera o Ponto de Configurações Personalizadas, ele é o mesmo que o nome da categoria.