Compartilhar via


Propriedade Globals.VariablePersists

O VariablePersists a propriedade se aplica a vários tipos de Globals objetos. Para o DTE.Globals o objeto, ele obtém ou define se a variável é mantida pelo ambiente e está disponível entre as sessões do ambiente. Para o Solution.Globals o objeto, ele obtém ou define se a variável é mantida pelo ambiente e está disponível entre sessões do ambiente e entre o carregamento e descarregamento da solução. Para o Project.Globals o objeto, ele obtém ou define se a variável é mantida pelo ambiente do arquivo de projeto.

Namespace:  EnvDTE
Assembly:  EnvDTE (em EnvDTE.dll)

Sintaxe

'Declaração
Property VariablePersists ( _
    VariableName As String _
) As Boolean
    Get
    Set
bool this[
    string VariableName
] { get; set; }
property bool VariablePersists[String^ VariableName] {
    bool get (String^ VariableName);
    void set (String^ VariableName, bool value);
}
abstract VariablePersists : bool with get, set
O JScript não oferece suporte a propriedades indexadas.

Parâmetros

  • VariableName
    Tipo: System.String
    Obrigatório.Representa o nome da variável para manter.

Valor de propriedade

Tipo: System.Boolean
Um valor booleano indicando se existe ou não uma variável.VariablePersistsRetorna true se existe uma variável, caso contrário retorna false.

Comentários

Embora as variáveis globais sempre persistem dentro de uma sessão de Visual Studio, VariablePersists permite que essas variáveis persistem entre sessões.

ObservaçãoObservação

Para salvar variáveis com uma solução específica, use DTE.Solution.Globals.

Se a variável não existir, VariablePersists retorna false.

Para o Solution objeto (Solution.Globals), os dados são salvos sempre que a solução é salvo. Modificando o Globals objeto faz com que o arquivo de solução ficar marcado como editado (ou "dirty"). Para o DTE objeto (DTE.Globals), tanto quando os dados são salvos na Visual Studio ambiente está desligado ou quando uma solução é salva. Em ambos os casos, os dados são armazenados no arquivo de solução (. sln) ou no arquivo de armazenamento estruturado no diretório de perfis de usuário.

Quando o ambiente é desligado ou Save All ocorre, todos os valores globais são salvos. Se VariablePersists está associado a DTE o objeto, o valor é salvo no diretório de opções do usuário, da Visual Studio ambiente.

Se a variável global está associada a Solution o objeto, em seguida, o valor é salvo no arquivo de solução (. sln). Os valores são salvas a qualquer momento em que o ambiente grava o arquivo. sln.

Quaisquer variáveis salvos substituem valores salvos anteriormente. Para remover uma variável do arquivo salvo, defina VariablePersists para false. O ambiente removerá o seu valor durante o próximo Save operação.

ObservaçãoObservação

VariableValuenomes não podem conter espaços. Se houver, você obtém o erro, o valor não recai no intervalo esperado.

Exemplos

Sub OnAddinLoaded(ByVal dte As DTE)
    ' Count the number of times an add-in is loaded
    ' and store the value in the solution.
    Dim globals As Globals
    globals = dte.Solution.Globals
    If globals.VariableExists("AddinLoadCounter") Then
        ' The counter has already been set, so increment it.
        Dim int32 As System.Int32
        int32 = System.Int32.Parse(CStr(globals("AddinLoadCounter")))
        int32 += 1
        globals("AddinLoadCounter") = int32.ToString()
    Else
        ' Counter has never been set, so create and initialize it.
        globals("AddinLoadCounter") = 1.ToString()
        globals.VariablePersists("AddinLoadCounter") = True
    End If
    MsgBox("This add-in has been loaded: " & _
    globals.VariableValue("AddinLoadCounter") & " times.")
End Sub
void OnAddinLoaded(_DTE applicationObject)
{
    // Count the number of times an add-in is loaded
    // and store the value in the solution.
    Globals globals;
    globals = applicationObject.Solution.Globals;
    if(globals.get_VariableExists("AddinLoadCounter"))
    {
        // The counter has already been set, so increment it.
        System.Int32 int32;
        int32 = System.Int32.Parse((string)
        globals["AddinLoadCounter"]);
        int32++;
        globals["AddinLoadCounter"] = int32.ToString();
    }
    else
    {
        // Counter has never been set, so create and initialize it.
        globals["AddinLoadCounter"] = 1.ToString();
        globals.set_VariablePersists("AddinLoadCounter", true);
    }
    System.Windows.Forms.MessageBox.Show("This add-in has been loaded: 
    " + globals.VariableValue["AddinLoadCounter"] + " times.");
}

Segurança do .NET Framework

Consulte também

Referência

Globals Interface

Namespace EnvDTE

Outros recursos

Informações persistentes em projetos e soluções

Como: compilar e Executar a automação de exemplos de Código do modelo de objeto