Achèvement de code

De RAD Studio
Aller à : navigation, rechercher

{{Parent|Utilisation de l'éditeur de code et de l'EDI}

L'achèvement de code (Ctrl+Espace) est une fonctionnalité Audit de code disponible dans l'éditeur de code. L'achèvement de code affiche une fenêtre de "conseil" redimensionnable qui liste les éléments que vous pouvez sélectionner afin de 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 de 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 de 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 de code

L'achèvement automatique de code est activé par défaut, et les options d'activation et de désactivation de l'achèvement de 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 Delphi et C++.
  • Vous pouvez toujours utiliser Ctrl+Espace pour invoquer l'achèvement de code dans Delphi et C++, même si l'option Invoquer automatiquement est désactivée sur Audit de code.
  • Si l'option Délai est définie sur Audit de code, une minuterie est lancée (le curseur effectue un mouvement de vrille) avant l'invocation de l'achèvement de code.

L'achèvement de code pour C++ sur Mac OS X requiert une compilation initiale : L'achèvement de code requiert que vous compiliez au moins une fois votre projet de bureau C++ pour la plate-forme cible Mac OS X. Avant de compiler le projet, assurez-vous que l'environnement respecte toutes les exigences, comme décrit dans Configuration de votre environnement de développement pour Mac OS X.

Lorsque vous compilez le projet, RAD Studio crée le fichier d'en-tête précompilé (par exemple myProject.pch) dans le dossier C:\Utilisateurs\<utilisateur>\Documents\Embarcadero\Studio\Projects\OSX32. Si vous avez supprimé par erreur le fichier nomprojet.pch, l'achèvement de code ne sera pas disponible pour votre projet tant que vous n'aurez pas compilé à nouveau ce projet.

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 votre 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 de code

Voici diverses façons spécifiques d'utiliser l'achèvement de 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 un pointeur à une instance de classe.
  • Pour invoquer l'achèvement de code pour un type pointeur, le pointeur doit d'abord être déréférencé. Par exemple :
    • Dans C++, tapez : this->
    • Dans Delphi, 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 Delphi, 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 (Delphi) 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 Delphi, 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 de code, les mots qui apparaissent sont déterminés par le contexte. La liste en cours des mots réservés de Delphi est disponible dans le Guide du langage Delphi (Eléments syntaxiques fondamentaux).

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

Quand vous invoquez l'achèvement de 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 de code, appuyez sur la touche Echap (ou cliquez simplement n'importe où ailleurs).

Navigation vers une déclaration

Quand la fenêtre Achèvement de 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 de code supporte les méthodes de messages WM_xxx, CM_xxx et CN_xxx comme les constantes nommées provenant de toutes les unités de la clause uses.

Remarque : Pour C++, les caractéristiques d'achèvement de 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 dans la boîte de dialogue Projet > Options > En-têtes précompilés du compilateur C++. Choisissez "Générer et utiliser".

Voir aussi