Notepad++ : guide pratique

Function List

Image non disponible

Ce plugin permet de lister, trier et filtrer les fonctions de son programme afin d'y accéder rapidement.

Le plugin sourcecookifier propose la même fonctionnalité et au-delà.

Ce plugin est en cours de développement pour les versions 5+ et peut s'avérer imparfait (mais pas spécialement instable).

Page du développeur : http://jenslorenz.users.sourceforge.net/.

Cet article est publié avec l'aimable autorisation de Nicolas Liautaud.

L'article original peut être lu sur son blog : Notepad++, Function List.

17 commentaires Donner une note à l'article (5)

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Utilisation

FonctionList est accessible.

  • Depuis le menu Compléments → Function List.
  • Par le raccourci clavier Ctrl+Alt+Shift+L (par défaut).
  • Par son icône située en fin de la barre d'outils : Image non disponible

Il suffit de double-cliquer sur un nom de fonction pour y être ammené.

Image non disponible
Panneau de FonctionList

La première ligne du panneau indique l'état du plugin.

  1. 100 % : des règles existent pour ce langage, le plugin est opérationnel.
  2. No Rule Defined : aucune règle n'existe pour ce langage, le plugin ne servira pas.

Si No Rule Defined s'affiche pour des langages que le plugin est sensé prendre en compte, c'est qu'il y a un problème avec le fichier de configuration FunctionListRules.xml (introuvable, mauvaise version…). Revoir l'étape d'installation.

La barre d'outils contiens les outils suivants.

  1. Goto Last Function : aller en arrière dans l'historique des fonctions observées.
  2. Goto Next Function : aller en avant dans l'historique des fonctions observées.
  3. Sort in Sequence : trier les fonctions selon leur place dans le fichier.
  4. Sort Alphabetically : trier les fonctions par ordre alphabétique.
  5. View as List : Afficher les fonctions en liste, à la suite.
  6. View as Tree : Afficher les fonctions en arbre, groupées selon leur type (INCLUDE, FUNCTION, DEFINE…). Double-cliquer sur un groupe pour l'ouvrir ou le fermer.

II. Ajouter des règles

Il est possible de créer ses propres règles par le biais de la fenêtre Compléments → Function List → Language Parsing Rules…, ou en modifiant manuellement le fichier FunctionListRules.xml (voir l'emplacement des fichiers de configuration dans le chapitre sur l'installation manuelle).

La création de règles vous demandera une connaissance de base sur les expressions régulières.

Pour rajouter la prise en compte des classes en Python, il suffit par exemple de créer un nouveau groupe similaire au groupe FUNCTIONS, en remplaçant le mot def dans Function Begin par class.

Image non disponible
Création d'une règle pour les classes Python dans la fenêtre Language Parsing Rules

Cette configuration est toutefois très limitée, les fonctions de premier niveau et les méthodes de classes étant mêlées. Pour une configuration plus complète du langage Python, vous pouvez remplacer le nœud en question dans le fichier de configuration par celui-ci :

 
Sélectionnez
<Language name="Python" imagelistpath="">
    <CommList param1="#" param2="" />
    <Group name="GlobalFunction" subgroup="Function" icon="0" child="0" autoexp="4" matchcase="1" fendtobbeg="" bbegtobend="" keywords="">
        <Rules regexbeg="^def\s+" regexfunc="[\w_]+" regexend="" bodybegin="" bodyend="" sep="" />
    </Group>
    <Group name="Class" subgroup="Function" icon="0" child="0" autoexp="4" matchcase="1" fendtobbeg="" bbegtobend="" keywords="">
        <Rules regexbeg="^class\s+" regexfunc="[\w_]+" regexend="" bodybegin="" bodyend="" sep="" />
    </Group>
    <Group name="Function" subgroup="" icon="0" child="0" autoexp="4" matchcase="1" fendtobbeg="" bbegtobend="" keywords="">
        <Rules regexbeg="^[\s\t]+def\s+" regexfunc="[\w_]+" regexend="" bodybegin=":" bodyend="$" sep="" />
    </Group>
</Language>

Source.

Pour actualiser les changements, sélectionnez un autre langage, cliquez sur Try!, sélectionnez Python et cliquez sur Try!.

Remerciements

Cet article est publié avec l'aimable autorisation de Nicolas Liautaud.

L'article original peut être lu sur son blog : Notepad++, Function List.

  

Licence Creative Commons
Le contenu de cet article est rédigé par Nicolas Liautaud et est mis à disposition selon les termes de la Licence Creative Commons Attribution 3.0 non transposé.
Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright © 2013 Developpez.com.