Compartilhar via


Como: controle a janela de ajuda dinâmica

Visual Studio tem um Ajuda dinâmica janela que fornece links para tópicos da Ajuda relacionados com base no contexto do usuário.Por exemplo, se você começar a edição no editor de código, um tópico sobre como usar o editor de código exibe no Ajuda dinâmica janela.Ele faz isso comparando as palavras-chave relacionadas ao contexto corrente para uma lista de palavras-chave associadas a tópicos da Ajuda.

The ContextAttributes coleta e a ContextAttribute objeto permitem que você listar a coleção de palavras-chave que se aplicam a uma janela especificada em Visual Studio. Elas também permitem que você adicione e priorizar os atributos.Conseqüentemente, sistema autônomo clientes de automação podem exibir tópicos de sua escolha no Ajuda dinâmica janela quando essa janela — ou um elemento da janela, tais sistema autônomo um link ou guia — está selecionada.

A ContextAttribute objeto representa o contexto de uma janela específica ou um elemento da janela. ContextAttributes é uma coleção de todos os ContextAttribute objetos para uma determinada janela. Contexto é composto de três tipos de contexto: Filtrar, pesquisar e LookupF1:

Filtro

Um atributo é adicionado à coleção de contexto.Atributos são pares nome/valor que são usados para filtrar ou os tópicos de palavra-chave F1 e pesquisa que exibir o Ajuda dinâmica janela ou filtro no tópico que aparece quando um usuário pressionar F1.

Pesquisa

Uma palavra-chave é adicionada à coleção de contexto.O tópico correspondente a esta palavra-chave é exibido no Ajuda dinâmica janela.Palavras-chave de pesquisa fornecem uma lista de plano de fundo ou tópicos relacionados que são mostrados no Ajuda dinâmica janela.A lista de tópicos de palavra-chave no Ajuda dinâmica janela atualizações quando o usuário altera a seleção corrente.Pesquisa de palavras-chave são obtidas com a mesma fonte sistema autônomo palavras-chave mostrar o índice de um arquivo de Ajuda compilado.

LookupF1

O tópico correspondente a esta palavra-chave é exibido no Ajuda dinâmica janela e é usado para localizar tópicos da Ajuda F1.Palavras-chave F1 fornecem um tópico da Ajuda quando um elemento de contexto, sistema autônomo uma janela de ferramentas, editor ou caixa de diálogo modal está selecionado e F1 é pressionado.Tópicos de palavra-chave F1 também estão listados no Ajuda dinâmica janela.Uma palavra-chave F1 é adicionada à coleção de contexto.

Existem três tipos de atributos de contexto indicando onde a ContextAttributes objeto originado:

Global

O contexto IDE (ambiente) global de desenvolvimento integrado.

Alta prioridade

A coleção de contexto de alta prioridade.O atributo de contexto de prioridade alta significa que o link de tópico exibe na parte superior do seu agrupar de link no Ajuda dinâmica janela.

Janela

Um contexto de janela.

The ContextAttributes coleção está disponível nos seguintes objetos:

ContextAttributes

Afeta a coleção contexto global, que tem a precedência mais baixa para classificar os tópicos.

ContextAttributes

Afeta a coleção de contexto de uma janela.Para janelas de ferramenta, os atributos estão em vigor somente quando a janela está selecionada.Para editores e designers, sistema autônomo atributos estão em vigor enquanto o editor for a última janela ativo de filho MDI.Se o valor de HighPriorityAttributes propriedade é True, e em seguida, os atributos são sempre em vigor e maior precedência.

Depois de associar uma palavra-chave com uma janela ou elemento de janela, você pode usá-lo para exibir um tópico da Ajuda.Usando o provedor de Ajuda do XML, você pode exibir um tópico da Ajuda personalizada ou uma URL.Para obter mais informações, procure o Visual Studio Industry Partner (VSIP) SDKAjuda para "O provedor ajuda XML e ajuda dinâmica".

Juntamente com controle ling o Sumário do Ajuda dinâmica janela, você também pode controle suas características sistema autônomo largura e altura.Para obter mais informações, consulte Como: Alterar características de janela.

Usando ContextAttributes e ContextAttribute Você pode:

  • Adicionar ou remover um nome de palavra-chave, valor e tipo.

  • Obter o nome e o valor de uma palavra-chave.

  • Obter uma lista de atributos de alta prioridade sistema autônomo um ContextAttributes coleção de DTE.ContextAttributes.

Observação:

As caixas de diálogo e comandos de menu que você vê podem diferir das descritas no Help dependendo de suas configurações ativas ou edição. Esses procedimentos foram desenvolvidos com o Geral Development Settings ativo.Para alterar as configurações, escolher Import and ExportSettings on the Tools menu.Para obter mais informações, consulte Configurações do Visual Studio.

Exemplo

Este suplemento exemplo demonstra como referenciar e usar os vários membros do Ajuda dinâmica modelo de automação.Este exemplo lista os nomes e o número de palavras-chave associadas ao O gerenciador de soluções.Ele também adiciona uma nova palavra-chave F1 e, em seguida, remove-lo.Para obter mais informações sobre sistema autônomo executar o exemplo de sistema autônomo um suplemento ou sistema autônomo um Visual Studio macro, consulte Como: Compilar e executar os exemplos de códigos automação objeto modelo.

Public Sub OnConnection(ByVal application As Object, ByVal _
connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    ' Pass the applicationObject member variable to the code example.
    CATest(_applicationObject)
End Sub

Sub CATest(ByVal dte As DTE2)
    ' Get a reference to Solution Explorer.
    Dim SolnEx As Window = _applicationObject.Windows.Item(Constants. _
    vsWindowKindSolutionExplorer)
    Dim CA As ContextAttribute

    ' List the current attributes associated with Solution Explorer.
    ListAttr(SolnEx, CA)

    ' Associate a new F1 keyword to Solution Explorer.
    SolnEx.ContextAttributes.Add("ANewKeyword", "900", _
    vsContextAttributeType.vsContextAttributeLookupF1)
    ListAttr(SolnEx, CA)

    ' Delete the new F1 keyword from Solution Explorer.
    SolnEx.ContextAttributes.Item(3).Remove()
    ListAttr(SolnEx, CA)
End Sub

Sub ListAttr(ByVal SolnEx As Object, ByVal CA As ContextAttribute)
    ' Support function for CATest(). Lists the current attributes 
    ' associated with Solution Explorer.
    Dim msg As String
    msg = ""

    MsgBox("Number of context attributes in Solution Explorer: "  _
    & SolnEx.ContextAttributes.Count)
    For Each CA In SolnEx.ContextAttributes
        msg = msg & CA.Name & Chr(13)
    Next
    MsgBox(msg)
    msg = ""
End Sub
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst, ref
 System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    //  Pass the applicationObject member variable to the code example.
    CATest(_applicationObject); 
}

public void CATest( DTE2 dte ) 
{ 
    // Add-in code.
    // Get a reference to Solution Explorer.
    Window SolnEx = dte.Windows.Item
( Constants.vsWindowKindSolutionExplorer ); 
    ContextAttribute CA = null; 

    // List the current attributes associated with Solution Explorer.
    ListAttr( SolnEx, CA ); 

    // Associate a new F1 keyword to Solution Explorer.
    SolnEx.ContextAttributes.Add( "ANewKeyword",
 System.Convert.ToString(900),
 vsContextAttributeType.vsContextAttributeLookupF1 ); 
    ListAttr( SolnEx, CA ); 

    // Delete the new F1 keyword from Solution Explorer.
    SolnEx.ContextAttributes.Item( 2 ).Remove(); 
    ListAttr( SolnEx, CA ); 
} 

public void ListAttr( EnvDTE.Window SolnEx, ContextAttribute CA ) 
{ 
    // Support function for CATest(). Lists the current attributes 
    // associated with Solution Explorer.
    string msg = null; 

    MessageBox.Show
( "Number of context attributes in Solution Explorer: " 
+ SolnEx.ContextAttributes.Count); 
    foreach ( EnvDTE.ContextAttribute temp in 
SolnEx.ContextAttributes ) 
    { 
        CA = temp; 
        msg = msg + CA.Name + "\n"; 
    }
    MessageBox.Show( msg); 
    msg = ""; 
}

Consulte também

Tarefas

Como: Alterar características de janela

Como: Criar um suplemento

Demonstra Passo a passo: Criando um assistente

Conceitos

Gráfico do modelo de objetos de automação

Outros recursos

Criando e controlando o ambiente Windows

Criando suplementos e assistentes

Automação e referência a extensibilidade