Utiliser GExperts pour formater les codes sources dans Delphi 13 Florence

Déprécié depuis fort longtemps, installable en option dans Delphi 12 Athens, le formateur de code a disparu en Delphi 13 Florence.

Je dois admettre que j'utilisais bien trop souvent Ctrl+D quand je codais et que l'absence d'équivalent lors du beta test Ganymede a été une grosse source de frustration pour moi et quelques autres beta testeurs. Heureusement l'écosystème de Delphi est vaste et il y a des solutions pour tout !

Embarcadero ne propose plus de formateur de code dans Delphi 13 Florence, soit, mais on a le choix parmi des extensions (re)connues comme GExperts et CnPack IDE Wizards. On peut aussi utiliser le formateur de code en ligne de commande présent dans les versions précédentes de Delphi et RAD Studio ou un outil open source qui semble prometteur.

Notez avant de continuer que l'éditeur de code Pascal de Delphi propose en standard un système d'indentation quand on saisit. On peut donc tout à fait se contenter de lui si on ne code pas au kilomètre ou n'importe où dans le source comme je le fais “parfois”.

MMX Code Explorer que vous avez peut-être installé pour ses outils de refactoring propose aussi des fonctionnalités de reformage de code basiques. Peut-être vous suffiront-elles.

Si vous préférez lancer des outils sur vos fichiers afin d'uniformiser leur présentation vous pouvez passer par pasfmt ou la commande formatter.exe d'une version antérieure comme David Cornelius l'a expliqué sur son blog.

En revanche si vous préférez voir les résultats en temps réels il faut passer par une extension de l'environnement qui prenne en charge les nouvelles API Open Tools de l'IDE. A ma connaissance deux outils le permettent : GExperts et CnWizards.

Comme l'extension chinoise n'est pas encore sortie dans sa version officielle pour Delphi 13 Florence, j'ai fait le choix de tester GExperts en attendant d'en tester d'autres.

GExperts est disponible pour Delphi 13 Florence dans une version beta depuis le samedi 12 septembre. Il vous suffit de le télécharger et lancer l'installation en ayant pris soin de fermer l'environnement de développement avant.

Démarrez ensuite Delphi. Rendez-vous dans le menu GExperts puis “More” et “Configuration”.

La boite de dialogue qui s'ouvre permet d'activer ou désactiver les outils proposées par GExperts. On peut aussi définir les raccourcis clavier associés à chaque. N'en abusez pas trop pour éviter les conflits avec les raccourcis standards de l'IDE ou d'autres extensions.

L'option qui nous intéresse est “Code Formatter” dans “Editor Experts”.

Pour déclencher le formateur de code avec Ctrl+D comme l'ancien il suffit de faire Ctrl+D dans son champ de saisie. Vous pouvez ensuite paramétrer certaines actions dans sa boite de dialogue de configuration.

Vous le verrez, il y a beaucoup moins de paramètres que pour la version historique, mais le comportement de base est sensiblement le même.

Pour l'avoir testé sur plusieurs fichiers source, j'ai remarqué deux différences :

- L'indentation des lignes 2 à n d'une série de déclarations de variables ou champs du même type.

- Le changement de la casse par défaut des directives de compilation (mises en majuscules), des commandes et des instructions du langage Pascal (passées en minuscules).

Ca reste cohérent et conforme aux usages donc je valide pour mon usage. Ca fera quelques COMMIT pas forcément nécessaires, mais on n'en est plus à ça prêt et rien n'empêche de faire des demandes d'évolutions sur le dépôt de code du projet ou de proposer vos propres changements sous forme de contributions.

Je sais que plusieurs MVP Embarcadero ont leur propre formateur de code ou travaillent dessus. Peut-être y aura-t-il d'autres alternatives open source dans les mois qui viennent parmi lesquelles Embarcadero pourra peut-être choisir la prochaine version intégrée par défaut d'un formateur de code.

Ca pourra aussi faire l'objet d'un casse-tête à coder en live un jour pour jouer un peu avec l'OTAPI de l'IDE.


3 mugs Delphi en vente à -50%

Mastodon