Notepad++ pour coder en Scol

Article mis à jour le 19 janvier 2010

Ce tutoriel s'adresse plutôt aux programmeurs Scol et à ceux qui souhaitent le devenir ou, à tout le moins, de bidouiller en Scol.
Les sections de cet article sont installation standard, function list, coloration syntaxique et api scol.

Pour éditer et/ou créer des packages Scol (écrire du code en langage Scol), il suffit d'avoir, outre un minimum de connaissances du langage, deux choses :

  1. une machine virtuelle Scol fonctionnelle;
  2. un logiciel éditeur de texte.
En tant qu'utilisateur Scol, vous êtes sensés déjà posséder ces deux conditions. Que vous créez des applications complexes ou que vous visitiez simplement des sites, la VM Scol est la même : il s'agit du Scol Engine (dont la surcouche "Voyager" est une interface graphique).
Ensuite, n'importe quel éditeur de texte convient : Bloc-Note de Microsoft si vous êtes sous MS Windows ou gEdit si vous êtes sous Linux/Gnome ou encore Bluefish dont j'ai également fait un petit tutoriel ici.

Personnellement, sous Linux, j'utilise énormément gEdit pour tout type de code (Scol, C/C++, Python, PHP, ...). Notez qu'il existe des versions pour Windows et MacOS X.
Mais sous MS Windows, j'utilise un seul logiciel : Notepad++.

Il en existe d'autres tel le populaire ultra-edit mais celui-ci reste un logiciel propriétaire et payant (certes, c'est facile de contourner l'achat mais n'empêche, le monsieur dit que c'est pas bien !).
Notepad++ est un logiciel libre (licence GNU/GPL), multi-lingue et basé sur le robuste Scintilla sans en avoir la complexité.
A moins d'avoir besoin de fonctionalités hyper-évoluées, Notepad++ remplit parfaitement son job ! Il n'y a qu'à lire ses fonctionalités en page d'accueil.

Installation standard

Son installation est des plus simples : après avoir téléchargé la dernière version, double- cliquez sur l'exécutable et suivez l'assistant. La plupart des plugins sont livrés avec l'installeur. Pour les autres (que je n'utilise d'ailleurs pas), téléchargez-les et placez-les dans le répertoire "plugins" du dossier d'installation de Notepad++ : http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Plugin_Central.
Visitez sans timidité le site, vous y trouverez tout un tas d'informations sur les différentes subtilités du logiciel ...
A ce jour, la dernière version de Notepad++ est la 5.6.4.

Function List

Le plugin "Function List" est très utile : il permet, comme son nom l'indique, de lister les fonctions et autres récurrences dans les fichiers ouverts et d'y accèder par simple clic ou d'y faire des recherches ...
Par défaut, il s'agit de la version 1.2 du plugin qui est fournie avec Notepad++ 4.1.2. Il existe cependant une version 2.0 de Function List en phase de tests mais qui ne m'a posé aucun problème jusqu'ici.
Vous pouvez la télécharger sur ce même site : http://sourceforge.net/tracker/?func=detail&aid=2879685&group_id=189927&atid=931291 (version 20091109). Copiez la dll dans le dossier Plugins de Notepad++ (sauvegardez l'ancienne si vous le souhaitez) et les autres fichiers (surtout 'FunctionListRules.xml' dans le dossier %AppData%\Notepad++\Plugins\Config (par défaut sous XP : C:\Documents and Settings\Votre_nom_d'utilisateur\Applications Datas\Notepad++\Plugins\Config\) et/ou dans le dossier d'installation de Notepad++ (%AppInstall%\Notepad++\plugins\config\).

Justement, Scol n'étant (pas encore ? :D) un langage standard de référence, il n'est reconnu ni au niveau de ce plugin ni au niveau plus général du logiciel. Vous allez donc y remédier !
Cliquez droit sur ce fichier 'FunctionListRules.xml' et choisissez "Ouvrir avec Notepad++ ..." (si cette option n'existe pas, voyez à cette url "Context menu d'Explorer (clic droit)" en milieu page).
Voici une premiere prise en main du logiciel.
Ajoutez la prise en compte du langage Scol par ce plugin. Pour cela, copiez simplement juste avant le "</FunctionList>" final du fichier ouvert :


Ceci est modifiable à souhait : on peut ajouter de nouveaux groupes ou en supprimer pour mettre en évidence tel ou tel bloc d'instructions, voire de les grouper en sous-groupe, etc. Avec la définition ci-dessus, seront listés les fonctions (fun), déclarations de variables (typeof et var), de communications (defcom et defcomvar), les créations de types (typedef et struct) et les prototypes (proto).
Voici ce que cela donne (cliquez pour agrandir) :

image 1, function list

Pour afficher cette liste de fonctions, c'est menu Plugins / FunctionList / List ..."

Note : vous pouvez également modifier graphiquement ces paramètres en vous rendant au menu Plugins > FunctionsList > Language Parsing Rules.

Coloration syntaxique

Pour encore plus de confort, ajoutez la coloration syntaxique qui permet de visualiser rapidement les blocs ou les bouts d'instructions de vos codes Scol.
En remontant d'un cran dans l'arborescence à %AppData%\Notepad++ (soit, par défaut sous XP, C:\Documents and Settings\Votre_login\Application Data\Notepad++), éditez le fichier "userDefineLang.xml" avec Notepad++ tant qu'à faire. S'il n'existe pas, créez le. Ajoutez alors ces lignes :


Bien évidemment, vous pouvez modifier comme bon vous semble, soit directement dans ce fichier soit via une interface dont le bouton "Panneau de langage défini par l'utilisateur" est dans la barre d'outils du logiciel.
Désormais, dès que vous ouvrirez un fichier portant l'extension pkg celui-ci sera colorisé.

API Scol (version 4.x de Notepad++ uniquement)

Pontinuez dans l'intégration de Scol à Notepad++ en lui ajoutant une API pour la complétion automatique. Téléchargez cette API et enregistrez la dans le sous-répertoire Plugins/APIs du dossier d'install de Notepad++.
Pour y accéder, appuyez sur CTRL + ESPACE pour avoir accès à l'ensemble des fonctions Scol incluses ou CTRL + SHIFT + ESPACE pour n'avoir que celles correspondantes au préfixe déjà saisi.
Notez que cette API contient l'ensemble des fonctions Scol version 4.5 documentées (ça en fait déjà un bon paquet soit plus de 95% !) et que je m'efforcerai d'ajouter les autres (les nouvelles et les anciennes non documentées) une prochaine fois.


Enfin, naviguez dans les menus, modifiez les Préférences (menu Paramétrage) pour personnaliser davantage Notepad++ à vos habitudes de travail. Sachez qu'en dernier recours toute l'interface est personnalisable via les fichiers xml.

Bon code !
iri, août 2007


Notes :

Il est possible de lancer Notepad++ sous Linux via Wine. Ca marche très bien, je l'ai aussi sous mon Ubuntu mais retrouver du Windows sous Linux n'est pas de mon goût ! ;-)
Plus d'infos ici.

Pour une utilisation en ligne de commandes, voyez ici.

Pour interfacer Notepad++ avec d'autres outils, voyez cette page.