Achèvement de code

De RAD Studio
Aller à : navigation, rechercher

Remonter à Introduction à RAD Studio


L'achèvement de code (Ctrl+Espace) est une fonctionnalité de l'audit de code disponible dans l'éditeur de code. Elle vous aide à écrire votre 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. La fenêtre de conseil affiche une liste dans laquelle apparaissent en premier les symboles commençant par le texte que vous tapez, puis apparaissent ensuite les symboles contenant le reste du texte.

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 boîte 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. Ainsi, par défaut :

  • Les mots clés sont en bleu foncé.
  • Les noms de procédure, fonction et propriété apparaissent en caractères noirs et gras.
  • Lors du filtrage, les caractères qui correspondent au filtre sont soulignés. (Ceci peut être désactivé).

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 {Menu|Outils > Options > Interface utilisateur > Options de l'éditeur > Langage}}. L'audit de code est accessible en cliquant sur l'option 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++.
  • Toutefois, vous pouvez utiliser Ctrl+Espace pour invoquer l'achèvement du code dans Delphi et C++, même si l'option Invoquer automatiquement est désactivée dans Options de l'audit de code.
  • Si l'option Délai est définie sur Options de l'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 macOS 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 macOS. 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 macOS.

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 :

CodeCOmpletionWindow10.4.1.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.
  • Vous pouvez appliquer l'achèvement de code à la clause uses Delphi ou aux instructions #include C++ des unités ou fichiers. Sachez que la liste fournie actuellement peut ne pas comprendre l'ensemble des fichiers ou des unités souhaités :
    • Dans Delphi, depuis une clause uses, ajoutez une virgule après la dernière unité et appuyez sur Ctrl+Espace. Tapez ensuite pour filtrer les unités.
    • Dans C++, tapez "#include<" et appuyez sur Ctrl+Espace ; la liste des en-têtes connus apparaît. Tapez ensuite pour filtrer les en-têtes.
  • 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 > Interface utilisateur > 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 basées sur des constantes nommées provenant de toutes les unités de la clause <spanuses.
Remarque:

Lorsque vous utilisez le compilateur classique 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".

Lorsque vous utilisez le compilateur Clang C++, la fonctionnalité Audit de code compile chaque fichier C++ de façon autonome. Elle n'utilise pas l'en-tête précompilé PCH. L'achèvement de code nécessite un code C++ formé correctement, incluant les éléments utilisés. Si une unité n'inclut pas tous les en-têtes qui lui sont nécessaires, l'en-tête PCH ne les inclut pas indirectement et la fonctionnalité Audit de code n'est pas en mesure d'analyser l'unité et de fournir les résultats de l'achèvement de code.

Pour résoudre les problèmes, passez en revue les résultats de la fonctionnalité Audit d'erreur en commençant par le tout début du fichier. En fonction des erreurs, vous pouvez inclure un fichier demandé ou améliorer le code C++.

Voir aussi