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 :
Affecte la collection de contexte de type Global, qui a la priorité la plus faible pour le tri des rubriques. |
|
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
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