Compartilhar via


Interface Globals

O Globals o objeto é um cache para armazenar os dados para a duração de cada sessão da Visual Studio ambiente, bem como nas sessões usando o VariablePersists propriedade.

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

Sintaxe

'Declaração
<GuidAttribute("E68A3E0E-B435-4DDE-86B7-F5ADEFC19DF2")> _
Public Interface Globals
[GuidAttribute("E68A3E0E-B435-4DDE-86B7-F5ADEFC19DF2")]
public interface Globals
[GuidAttribute(L"E68A3E0E-B435-4DDE-86B7-F5ADEFC19DF2")]
public interface class Globals
[<GuidAttribute("E68A3E0E-B435-4DDE-86B7-F5ADEFC19DF2")>]
type Globals =  interface end
public interface Globals

O tipo Globals expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública DTE Obtém o objeto de extensibilidade de nível superior.
Propriedade pública Parent Obtém o objeto pai imediato de um Globals objeto.
Propriedade pública VariableExists Retorna se a variável especificada existe.
Propriedade pública VariableNames Obtém uma lista de todos os nomes de variáveis globais atuais.
Propriedade pública 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.
Propriedade pública VariableValue Retorna ou define a variável com o nome especificado.

Início

Comentários

O Globals objeto, por exemplo, permite que os programas possuem variáveis globais, cujos valores persistem entre execuções. Ele também pode ser usado para permitir que um comando para implementar um valor padrão se ele requer que o usuário insira informações cada vez que ele executa. Além disso, ele pode ser usado para alterar seu comportamento depois que ele foi invocado de um determinado número de vezes.

Os dados são armazenados na Globals o objeto como pares de variante/nome-valor. Esses pares nome/valor opcionalmente podem ser armazenados no disco usando o VariablePersists propriedade para manter o seu estado (como uma seqüência de caracteres) entre diferentes sessões de Visual Studio.

ObservaçãoObservação

Variáveis que contêm objetos ou SafeArrays não podem ser salvos. Se o valor pode ser salvo como uma seqüência de caracteres, ele é salvo no formato nativo.

Suplementos ou macros também podem usar o Globals objeto para salvar os dados definidos pelo usuário exclusivos para cada usuário entre Visual Studio sessões. Eles também podem usar o Globals o objeto para salvar os dados e recuperar dados a partir de um arquivo de solução (. sln).

Use o VariableValue propriedade para salvar ou ler os valores salvos com o Globals objeto.

ObservaçãoObservação

VariableValueseqüências de caracteres de nome não podem conter espaço, dois-pontos (:), ou period(.) caracteres. Se um nome tiver qualquer um desses caracteres, 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.");
}

Consulte também

Referência

Namespace EnvDTE

Outros recursos

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