Partager via


Comment : contrôler la fenêtre d'aide dynamique

Mise à jour : novembre 2007

Visual Studio dispose d'une fenêtre Aide dynamique qui fournit des liens vers les rubriques d'aide connexes en fonction du contexte de l'utilisateur. Par exemple, si vous commencez une modification dans l'éditeur de code, une rubrique sur l'utilisation de l'éditeur de code s'affiche dans la fenêtre Aide dynamique. Pour ce faire l'aide dynamique compare les mots clés en rapport avec le contexte actuel à une liste de mots clés associés aux différentes rubriques d'aide.

La collection ContextAttributes et l'objet ContextAttribute vous permettent de répertorier la collection de mots clés qui s'appliquent à une fenêtre spécifiée dans Visual Studio. Ils vous permettent également d'ajouter des attributs et de les classer par ordre de priorité. Ainsi, les clients Automation peuvent afficher les rubriques de leur choix dans la fenêtre Aide dynamique lorsque cette fenêtre, ou un de ses éléments, tel qu'un onglet ou un lien, est sélectionné.

Un objet ContextAttribute représente le contexte d'une fenêtre ou d'un élément de fenêtre particulier. ContextAttributes est une collection de l'ensemble des objets ContextAttribute d'une fenêtre donnée. Le contexte se compose de trois types de contextes : Filter, Lookup et LookupF1.

Filtre

Un attribut est ajouté à la collection du contexte. Les attributs sont des paires nom/valeur utilisées soit pour filtrer les rubriques de mots clés F1 et de recherche affichées dans la fenêtre Aide dynamique, soit la rubrique qui s'affiche lorsqu'un utilisateur appuie sur F1.

Recherche

Un mot clé est ajouté à la collection du contexte. La rubrique correspondant à ce mot clé s'affiche dans la fenêtre Aide dynamique. Les mots clés de recherche fournissent une liste de rubriques générales ou connexes qui s'affichent dans la fenêtre Aide dynamique. La liste des rubriques de mots clés affichées dans la fenêtre Aide dynamique est mise à jour lorsque l'utilisateur change la sélection en cours. Les mots clés de recherche sont dérivés de la même source que les mots clés affichés dans l'index d'un fichier d'aide compilé.

LookupF1

La rubrique correspondant à ce mot clé s'affiche dans la fenêtre Aide dynamique et est utilisée pour rechercher des rubriques d'aide affichées à l'aide de la touche F1. Les mots clés F1 affichent une rubrique d'aide lorsqu'un élément du contexte, tel qu'une fenêtre Outil, l'éditeur ou une boîte de dialogue modale, est sélectionné et que l'utilisateur appuie sur F1. Les rubriques de mots clés F1 sont également répertoriées dans la fenêtre Aide dynamique. Un mot clé F1 est ajouté à la collection du contexte.

Trois types d'attributs de contexte indiquent l'origine de l'objet ContextAttributes :

Global

Ferme le contexte global de l'environnement de développement intégré (IDE).

High Priority

Collection du contexte High Priority. L'attribut de contexte High Priority signifie que le lien vers la rubrique s'affiche en haut de son groupe de liaisons dans la fenêtre Aide dynamique.

Window

Contexte de fenêtre.

La collection ContextAttributes est disponible à partir des objets suivants :

ContextAttributes

Affecte la collection de contexte de type Global, qui a la priorité la plus faible pour le tri des rubriques.

ContextAttributes

Affecte la collection de contexte d'une fenêtre. Pour les fenêtres Outil, les attributs ne sont actifs que lorsque la fenêtre est sélectionnée. Pour les éditeurs et les concepteurs, les attributs sont actifs tant que l'éditeur est la dernière fenêtre enfant MDI active. Si la valeur de la propriété HighPriorityAttributes est True, les attributs sont toujours actifs et ont la priorité la plus élevée.

Après avoir associé un mot clé à une fenêtre ou à un élément de fenêtre, vous pouvez l'utiliser pour afficher une rubrique d'aide. En utilisant le fournisseur d'aide XML, vous pouvez afficher une rubrique d'aide personnalisée ou une URL. Pour plus d'informations, recherchez « Le fournisseur d'aide XML et l'aide dynamique » dans l'Aide de Kit de développement Visual Studio Industry Partner (VSIP) SDK.

Outre le contenu de la fenêtre Aide dynamique, vous pouvez contrôler ses caractéristiques, notamment sa largeur et sa hauteur. Pour plus d'informations, consultez Comment : modifier les caractéristiques d'une fenêtre.

ContextAttributes et ContextAttribute vous permettent d'effectuer les opérations suivantes :

  • ajouter ou supprimer un nom, une valeur ou un type de mot clé ;

  • obtenir le nom et la valeur d'un mot clé ;

  • obtenir la liste des attributs High Priority sous la forme d'une collection ContextAttributes à partir de DTE.ContextAttributes.

Remarque :

Les boîtes de dialogue et les commandes de menu que vous voyez peuvent différer de ce qui est décrit dans l'aide selon vos paramètres actifs ou votre édition. Ces procédures ont été développées avec les paramètres de développement généraux actifs. Pour modifier vos paramètres, sélectionnez Importer et ExporterParamètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio.

Exemple

Cet exemple de complément illustre la façon de référencer et d'utiliser les différents membres du modèle Automation Aide dynamique. Cet exemple répertorie les noms et le nombre des mots clés associés à l'Explorateur de solutions. Il lui ajoute également un nouveau mot clé F1, puis le supprime. Pour plus d'informations sur l'exécution de l'exemple en tant que complément ou en tant que macro Visual Studio, consultez Comment : compiler et exécuter les exemples de code du modèle objet Automation.

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 = ""; 
}

Voir aussi

Tâches

Comment : modifier les caractéristiques d'une fenêtre

Comment : créer un complément

Procédure pas à pas : création d'un Assistant

Concepts

Graphique Modèle d'objet Automation

Autres ressources

Création et contrôle de fenêtres d'environnement

Création de compléments et d'Assistants

Guide de référence de l'extensibilité et de l'automation