Compartilhar via


Propriedade Globals.VariablePersists

O VariablePersists a propriedade se aplica a vários tipos de Globals objetos.Para o DTE.Globals de 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 de 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 de uma solução.Para o Project.Globals de objeto, ele obtém ou define se a variável é mantida pelo ambiente no arquivo de projeto.

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

Sintaxe

'Declaração
Property VariablePersists ( _
    VariableName As String _
) As Boolean
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
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. VariablePersists Retorna true se existe uma variável, caso contrário retorna false.

Comentários

Embora as variáveis globais sempre persistirem em uma sessão do Visual Studio, VariablePersists permite que essas variáveis para 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 para se tornar marcado editada (ou "dirty").Para o DTE objeto (DTE.Globals), ambos quando os dados são salvos o 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 está desligado ou quando uma Save All ocorre, todos os valores globais são salvos.Se VariablePersists está associado a DTE de 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 de objeto, e em seguida, o valor é salvo no arquivo de solução (. sln).Os valores são salvos sempre 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 os exemplos de código de modelo de objeto de automação