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