Achèvement de code

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Editeur de code

L'achèvement du code (Ctrl+Espace) est une fonctionnalité Audit de code disponible dans l'éditeur de code. L'achèvement du code affiche une fenêtre de "conseil" redimensionnable qui liste les éléments que vous pouvez sélectionner pour les insérer dans votre code. Vous pouvez contrôler le tri des éléments dans la fenêtre de conseil de l'achèvement du code, en cliquant avec le bouton droit dans cette zone et en choisissant Trier par nom ou Trier par portée.

Les différents éléments qui apparaissent dans la liste Achèvement du code sont affichés dans des couleurs et des formats différents. Par exemple; les mots clés sont affichés par défaut en bleu foncé et les noms de propriétés, procédures et fonctions sont en noir et en gras.

Invocation de l'achèvement du code

L'achèvement automatique du code est activé par défaut, et les options d'activation et de désactivation de l'achèvement du code sont situées dans la boîte de dialogue Outils > Options > Options de l'éditeur > Audit de code.

  • Quand l'option Invoquer automatiquement est activée pour l'achèvement de code, taper un point (.) invoque l'achèvement de code pour Object Pascal et C++ (C++ supporte aussi ->).
  • Vous pouvez toujours utiliser Ctrl+Espace pour invoquer l'achèvement du code dans Object Pascal et C++, même si l'option Invoquer automatiquement est désactivée dans Audit de code.
  • Si l'option Délai est définie dans Audit de code, une minuterie est lancée avant l'invocation de l'achèvement du code.

Fenêtre Achèvement de code

Cette section illustre le fonctionnement de la fenêtre Achèvement de code pour un petit bloc de code. Par exemple, supposons que vous ayez créé une collection de boutons.

 var
   GViewButtons: TObjectList<TToolButton>;

Dans votre application, vous devez parcourir les boutons de la collection avec une boucle for, mais vous ne savez pas combien il y a de boutons dans la collection. Votre bloc de code est similaire au code suivant :

 begin
   { ... }
 
   if Assigned(GViewButtons) then
     for I := 0 to GViewButtons. - 1 do
     begin
       { something }
     end;
 
   { ... }
 end;

Déplacez le curseur après le caractère . (point) de l'instruction GViewButtons, puis appuyez sur Ctrl+Espace. La fenêtre Achèvement de code s'affiche comme ci-dessous :

CodeCompletion.png

Conseil : Vous pouvez redimensionner la fenêtre d'achèvement de code avec la souris en faisant glisser le coin inférieur droit comme pour n'importe quelle fenêtre standard de Windows.

Localisez la propriété Count et appuyez sur ENTREE. Votre code est automatiquement achevé de la façon suivante :

 begin
   { ... }
 
   if Assigned(GViewButtons) then
     for I := 0 to GViewButtons.Count - 1 do
     begin
       { something }
     end;
 
   { ... }
 end;

Utilisation de l'achèvement du code

Voici diverses façons spécifiques d'utiliser l'achèvement du code dans l'EDI :

  • Pour afficher les propriétés, les méthodes et les événements disponibles dans une classe, appuyez sur Ctrl+Espace après le nom d'une variable qui représente une instance de classe ou le pointeur vers une instance de classe.
  • Pour invoquer l'achèvement du code pour un type pointeur, le pointeur doit d'abord être déréférencé. Par exemple :
    • Dans C++, tapez : this->
    • Dans Object Pascal, tapez : Self.
  • Tapez une flèche (->) pour un pointeur vers un objet.
  • Vous pouvez également taper le nom des types non-pointeur suivi d'un point (.) afin de voir la liste des propriétés, méthodes et événements, hérités et virtuels. Par exemple :
    • Dans C++, tapez : TRect test;test.
    • Dans Object Pascal, tapez : var test: TRect; begin test.
  • Tapez un opérateur d'affectation ou le début d'une instruction d'affectation et appuyez sur Ctrl+Espace pour afficher la liste des valeurs possibles pour la variable.
  • Dans C++, tapez l'opérateur de portée (::).
  • Tapez un appel de procédure, de fonction ou de méthode et appuyez sur Ctrl+Espace pour afficher la liste des arguments valides pour l'affectation à la variable entrée. Sélectionnez un élément de la liste suivi de points de suspension (...) pour ouvrir une seconde liste d'arguments compatibles avec la variable entrée dans l'instruction d'affectation.
  • Tapez un enregistrement (Object Pascal) ou une structure (C++) pour afficher une liste de champs.
  • Tapez une propriété tableau (et non un véritable tableau) et appuyez sur Ctrl+Espace pour afficher une expression d'index.
  • Dans C++, vous pouvez également appuyer sur Ctrl+Espace sur une ligne d'instruction vide pour afficher les symboles provenant d'unités RTL supplémentaires même s'ils ne sont pas utilisés par l'unité en cours.
  • Dans Object Pascal, les mots réservés apparaissent dans la fenêtre Achèvement du code si vous avez activé Afficher les mots réservés dans la boîte de dialogue Outils > Options > Options de l'éditeur > Audit de code. Quand vous invoquez Achèvement du code, les mots qui apparaissent sont déterminés par le contexte. La liste en cours des mots réservés de Object Pascal est disponible dans le Guide du langage Object Pascal (Eléments syntaxiques fondamentaux).

Annulation de l'achèvement du code ou Disparition de la fenêtre Achèvement du code

Quand vous invoquez l'achèvement du code, le curseur devient un sablier indiquant que l'EDI traite votre requête.

  • Pour annuler une requête d'achèvement de code avant qu'elle ne se termine, appuyez sur la touche Echap.
  • Pour faire disparaître la fenêtre Achèvement du code, appuyez sur la touche Echap (ou cliquez simplement n'importe où ailleurs).

Navigation vers une déclaration

Quand la fenêtre Achèvement du code est affichée, vous pouvez maintenir enfoncée la touche Ctrl et cliquer sur un identificateur de la liste pour atteindre sa déclaration.

Ainsi, si vous faites passer le pointeur de la souris au-dessus d'un identificateur dans l'éditeur de code, une fenêtre de conseil indique où l'identificateur est déclaré. Vous pouvez appuyer sur Ctrl, pointer sur l'identificateur dans le code (il passe en souligné bleu, par défaut, et le point d'insertion prend la forme d'une main), puis cliquer (avec la souris) pour aller sur sa déclaration.

Remarque : L'audit de code fonctionne uniquement dans l'unité de compilation. L'achèvement du code supporte les méthodes de messages WM_xxx, CM_xxx et CN_xxx basées sur des constantes nommées provenant de toutes les unités de la clause uses.

Remarque : Pour C++, les caractéristiques d'achèvement du code fonctionnent mieux si vous avez déjà construit votre application et créé un en-tête précompilé. Sinon, vous devez attendre que le compilateur génère l'information requise. Il est recommandé de définir l'option Usage PCH de la boîte de dialogue Projet > Options > En-têtes précompilés du compilateur C++. Choisissez "Générer et utiliser".

Voir aussi