II. Notepad++▲
Notepad++ est un éditeur de code source qui prend en charge plusieurs langages, dont Perl. Ce programme, codé en C++ avec STL et Win32 API, a pour vocation de fournir un éditeur de code source de taille réduite, mais très performant.
Il possède une coloration syntaxique par défaut pour Perl que vous pouvez modifier si besoin.
Il est possible de se concevoir des macros utilisables à volonté. C'est ce que nous verrons ci-dessous.
II-A. Macro d'indentation d'un code Perl▲
Pour indenter un code Perl facilement en une ligne de commande, rien de plus simple que d'utiliser Perl lui-même. Pour cela, utilisons le module cpan : Perl::Tidy.
Il faut l'installer :
cpan -i Perl::Tidy
Pour en savoir plus sur l'installation des modules Perl, lisez ce tutoriel.
Le but de la macro est de lancer la commande perltidy suivante :
perltidy -b -et 4 -l 120 -bext / mon_programme.pl
Il faut maintenant sous Notepad++ installer le plugin « NppExec ». Allez dans le menu « Compléments » → « Plugin Manager » → « Show Plugin Manager ». Cherchez le plugin et installez-le.
Il se peut que vous n'ayez pas dans le menu de votre Notepad++ le « Plugin Manager ». En fait, ce gestionnaire de plugin a été supprimé par défaut
de Notepad++ en août 2017 (de la version 7.5) lorsque que son auteur a introduit une publicité en Septembre 2016. Si vous avez une version supérieur à 7.5,
vous devez le téléchargertélécharger le plugin manager et l'installer manuellement.
Pour l'installation : décompresser l'archive, et copier son contenu (plugins/PluginManager.dll et updater/gpup.exe) dans le répertoire d'installation de Notepad++.
Par exemple à l'adresse : C:\Program Files\Notepad++, puis relancer Notepad++. Pour en savoir plus, lisez cet article.
Vous pouvez également trouver les sources du plugin à installer sur developpez.com (version 1.4.11) :
PluginManager_v1.4.11_UNI.zip et PluginManager_v1.4.11_x64.zip.
Ensuite, allez dans le menu « Compléments » → « NppExec » et cliquez sur « Execute… ».
Une boite de dialogue s'ouvre. Saisissez le code suivant :
perl -x -S perltidy -b -et 4 -l 120 -bext / "$(FULL_CURRENT_PATH)"
npp_open $(FULL_CURRENT_PATH)
Enregistrez cette macro sous le nom « perltidy » par exemple.
Ensuite « Compléments » → « NppExec » → « Advanced Options… ».
Vous avez maintenant votre macro fonctionnelle sous Notepad++.
Voici quelques explications de la commande :
- perl -x -S perltidy : Perl cherche dans la variable d'environnement perltidy pour le lancer ;
-
-b ou --backup-and-modify-in-place : perltidy indente le fichier en lecture/modification ;
- -et 4 ou --entab-leading-whitespace : ce flag entraîne un remplacement de quatre espaces initiaux par une tabulation. Une tabulation égale quatre caractères ;
- -l 120 : les lignes du fichier feront au maximum 120 caractères ;
- -bext / : perltidy fait un backup du fichier original avec une extension « .bak » avant l'indentation. Si aucune erreur n'est générée, ce fichier est supprimé ;
- $(FULL_CURRENT_PATH) : c'est une variable Notepad++ qui contient le chemin complet vers le fichier courant ;
- npp_open est une fonction du plugin « NppExec » qui permet d'ouvrir le fichier dans Notepad++. Le fait d'indenter le programme, le fichier est modifié. On l'ouvre par la suite, ce qui permet de forcer Notepad++ à nous notifier que le fichier a probablement été modifié. Ainsi, on sauvegarde notre fichier indenté. Pour rendre la sauvegarde du fichier silencieuse, je vous recommande d'activer la fonction Notepad++ « Mise à jour sans alerte » : Menu paramétrage → Préférences… → Divers → « Mise à jour sans alerte ».
Voilà ! Vous pouvez programmer en Perl en ayant constamment un programme bien indenté.
II-B. Macro de vérification de syntaxe▲
Le principe est de pouvoir vérifier la syntaxe de notre programme via Notepad++. Nous allons créer une macro qui lance la commande perl -c sur le fichier perl courant.
La création de la macro est exactement comme pour l'exemple précédentMacro d'indentation d'un code Perl. Notre commande sera la suivante :
perl -c "$(FULL_CURRENT_PATH)"
Vous pouvez maintenant à tout moment vérifier la syntaxe de votre programme Perl depuis Notepad++.