Configurer vos éditeurs de texte pour Perl

Programmer aisément

| djibril | magicshark |

Ce tutoriel a pour but de vous lister quelques configurations des éditeurs de texte (Notepad++) ou EDI (NetBeans) utilisés par les programmeurs Perl. Elles permettent de faciliter la vie du Perléen !

Vous pouvez participer à enrichissement de ce tutoriel : Commentez

- Titre : Configurer vos éditeurs de texte pour Perl

- Auteurs : djibril, magicshark

- Parution : 6 juillet 2015

- Mise à jour : 19 mars 2018

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2018 djibril. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Notepad++

- II-A. Macro d'indentation d'un code Perl

- II-B. Macro de vérification de syntaxe

- III. NetBeans

- III-A. Les modules Perl

- III-B. Installation

- III-C. Paramétrage

- III-D. Présentation de l'espace de travail

- III-E. On peut commencer à jouer

- III-F. Le tour des nouvelles icônes

- III-G. Quelques astuces

- III-H. Bogues

- IV. Remerciements

I - Introduction

Tout programmeur a besoin d'un éditeur de texte ou d'un EDI pour coder. Fini le temps de l'utilisation de Word ou du Bloc-notes :-) ! Nous utilisons de nos jours des outils gratuits ou payants comme vi, vim, gedit, Scite, utraedit, Notepad++, NetBeans… Certains outils sont plus évolués que d'autres, mais l'essentiel est que le programmeur se sente à l'aise avec son outil.

Ce tutoriel n'a pas pour vocation de lister tous les EDI ou éditeurs de texte existants. Le but est de partager avec vous des configurations d'outils utilisées par nos Perléens : elles vous faciliteront la vie !

Vous pouvez participer à l'enrichissement de ce tutoriel : Commentez

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écharger 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 :

Code perltidy et Notepad++

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édent. Notre commande sera la suivante :

Vérifier syntaxe Perl

perl -c "$(FULL_CURRENT_PATH)"

Vous pouvez maintenant à tout moment vérifier la syntaxe de votre programme Perl depuis Notepad++.

III - NetBeans

NetBeans est un IDE open source qui permet de développer avec beaucoup de langages. Il fonctionne avec des modules qui permettent d'intégrer facilement de nouvelles fonctionnalités/langages.

Perl ne faisant pas exception (pour une fois) il va falloir passer par un module !

NetBeans fonctionne par modules et il est tout à fait possible d'ajouter à votre environnement différents plugins pour vous aider dans les à-côtés du projet.
Un Git, un FTP, un SSH… quasiment tout est possible (sauf le café ! Le module est encore en cours de développement). De plus, vous pourrez initialiser plusieurs projets dans différents langages. Cela va sans dire, mais la coloration syntaxique est présente.

III-A - Les modules Perl

Pour pouvoir développer en Perl avec NetBeans, vous devez télécharger le module Perl ici.

N'ayez pas peur, un « .nbm » (comprenez NetBeans Module) va être téléchargé. Téléchargez un autre module qui n'est pas obligatoire et sert à faire des tests avec « Prove ». Il est disponible ici.

Maintenant vous pouvez lancer votre outil préféré (ou celui qui va le devenir ).

III-B - Installation

Pour installer vos modules, rendez-vous dans Tools → Plugins :

Maintenant dans l'onglet Download :

Saisissez « next », acceptez la licence, puis soit vous redémarrez NetBeans, soit vous installez le deuxième module. Pour ce dernier, la démarche est la même que le premier module.

Une fois redémarré, regardez la différence :

Il y a de nouveaux boutons.

III-C - Paramétrage

Maintenant que vous êtes grand et votre IDE aussi, vous êtes tentés de faire votre premier projet… mais attention, vous devez encore paramétrer le premier module.
Pour cela, rendez-vous dans Tools → Options :

(juste en dessous de Plugins)
Onglet « Perl On NetBeans », dans général, je vous laisse mettre le « .exe » qui va bien.
Ensuite il y a Perl::Critic idem recherchez perlcritic.bat sur votre PC (moi, il est dans C:\Strawberry\perl\site\bin\perlcritic.bat). Vous pouvez ensuite le configurer pour qu'il soit plus ou moins sympa avec vous. Puis le dernier onglet Perl::Tidy, faites la même chose (moi il est dans C:\Strawberry\perl\bin\perltidy.bat). Saisissez OK et c'est bon, vous pouvez démarrer.

III-D - Présentation de l'espace de travail

Notez bien les différentes parties, je les nommerai ainsi tout le long du tutoriel.

III-E - On peut commencer à jouer

Maintenant que tout est OK, on va enfin pouvoir jouer et faire notre tout premier projet.
Le but de ce tutoriel n'étant pas de vous faire développer, nous ne ferons pas un mégaprojet qui fait plein de choses faramineuses.

Dans la partie « Vos projets », cliquez droit « New Project » → Catégories : perl Projects : Perl Project → « Next ».

On va renseigner maintenant le nom du projet ici « Sandbox ». Choisissez le lieu de stockage et saisissez « finish ». Maintenant un nouveau projet est apparu #Victoire !

Vous pouvez à présent cliquer droit sur votre projet pour créer un nouveau fichier perl (New → NewPerlFile). Renseignez les informations demandées puis copiez-collez ce code.

#!/usr/bin/perl
#
# @File newperlTemplate.pl
# @Author magicshark
# @Created 24 juin 2015
#

use Modern::Perl '2013';
use autodie;

say ‘toto';

Vous pouvez d'ores et déjà tester ce super code en cliquant sur

III-F - Le tour des nouvelles icônes

Pour le module Perl on netBeans : .

Dans l'ordre :

1. Perl ::Critic ;

2. Perl ::Tidy ;

3. Générer en HTML (jamais testé) ;

4. Lancer le programme avec des arguments ;

5. PerlDoc. Je n'arrive pas à m'en servir : un ticket est ouvert (voir fin du tutoriel).

Pour Perl_Prove :
Lancez le test avec prove.

#!/usr/bin/perl
use 5.20.2;
use warnings;
use Test::More tests => 4;
use TAP::Harness;
use autodie;

ok(   1, 'le nombre un devrait être vrai'               );
ok(   0, '... et le zéro ne le devrait pas'             );
ok(  '', 'la chaîne vide devrait être fausse'           );
ok( '!', '... et une chaîne non vide ne le devrait pas' );

done_testing();

Vous pouvez tester ce bouton avec ce code.

III-G - Quelques astuces

Vous pouvez redéfinir vous-même vos templates. Allez dans Tools → template et là modifiez/ajoutez le template que vous voulez.

Vous pouvez également faire des raccourcis. Pour ma part, j'en avais assez d'écrire use warnings ; du coup j'écris juste wg+espace et ça s'écrit tout seul : Tools → options → Editor → Code Template.

III-H - Bogues

Si vous trouvez un bogue sur l'un des deux modules vous pouvez le déclarer ici pour perlOnNetBeans et ici pour perlProve.

IV - Remerciements

Liste des auteurs :

- djibril : Notepad++ ;

- magicshark : NetBeans.

Nous tenons à remercier Claude Leloup pour la correction orthographique de ce tutoriel.