Gedit : CodeLint

CodeLint est un plugin pour Gedit qui permet de valider la syntaxe de code php, javascript et python.

Attention: 2018-05-20 — le plugin n'est plus vraiment activement maintenu vu que je n'utilise quasiment plus Gedit comme éditeur de code.

Présentation

CodeLint est un plugin pour Gedit 3.12 et supérieur adapté d'un plugin précédent, JsValidator, développé entre 2008 et 2014. Ce dernier permettait de valider la syntaxe de fichiers javascript ou json. CodeLint va plus loin en offrant la possibilité de valider en plus du code PHP et du code python.

Capture d'écran

Panneau d'affichage de la validation du code.

Le plugin affiche un onglet de validation dans le panneau inférieur de Gedit, actif uniquement si le document courant peut être validé. Le bouton « exécuter » lance la validation et les erreurs éventuellement trouvées s'affichent dans la liste avec :

  • Une icône de catégorisation de l'erreur (« Cat »).
  • Le numéro de la ligne en erreur (« Line »).
  • La position de l'erreur dans la ligne (« Char. »).
  • Le message d'erreur (« Error »).
  • L'extrait de code fautif (« code »).

La richesse et la pertinence des informations peuvent varier en fonction de l'outil utilisé pour la validation (voir Utilisation). Pour se rendre sur une erreur particulière, il suffit de double-cliquer sur la ligne de la liste correspondante.

Le bouton « préférences » permet d'ouvir un dialogue de congfiguration de la validation pour un langage donné.

installation

Installation manuelle

  1. Fermez Gedit s'il est ouvert.
  2. Décompressez l'archive téléchargée.
  3. Copiez le dossier codelint et le fichier codelint.plugin dans le dossier des plugins Gedit (~/.local/share/gedit/plugins/).
  4. Dans Gedit, ouvrez la fenêtre de configuration et dans l'onglet « greffons » cliquez sur l'entrée « codelint ».

Désinstallation manuelle

  1. Fermez Gedit s'il est ouvert.
  2. Ouvrez un navigateur de fichier dans le dossier des plugins Gedit (~/.local/share/gedit/plugins/).
  3. Supprimez le dossier codelint et le fichier codelint.plugin.

utilisation

Validation du javascript

La validation du code javascript reprend ce qui était fait dans JsValidator. Elle utilise le moteur javascript de Gnome gjs, basé sur spidermonkey et fournit par défaut dans Gnome 3. La validation du code se fait grâce à JSLint et l'écran de configuration offre la possibilité de préciser les options d'analyse du code. La propriété « autocheck » permet de lancer la validation dés que le fichier courant est enregistré.

Capture d'écran

Configuration de la validation javascript.

Validation du PHP

Capture d'écran

Configuration de la validation PHP.

La validation du PHP nécessite la présence de PHP sur le système. Elle utilise la ligne de commande php -l, ce qui réduit beaucoup l'analyse du code puisque celle-ci s'arrête à la première erreur trouvée. Il est possible d'utiliser PHPLint2, un outil d'analyse plus poussé mais qui renvoit de « faux » messages d'erreurs si le code n'obéit pas aux règles de formatage de l'outil. Son utilisation par le plugin est encore à améliorer.

Validation du python

Capture d'écran

Configuration de la validation python.

La validation du code python nécessite l'installation préalable de PyLint. Une bonne partie du code dédié à la validation du python est inspirée par le plugin Gedit pylint-2. L'écran de configuration permet de définir les paramètres « disable » et « enable » de la même manière que l'on devrait le faire si on lancait PyLint en ligne de commande.

Comme pour le javascript et le PHP, il est possible de préciser si la validation doit être effectuée à chaque fois que l'on enregistre le fichier (« autocheck »). Il est cependant conseillé de ne pas le faire vue que l'analyse de PyLint peut être longue : l'outil ne se contente pas de vérifier la syntaxe du document, il évalue aussi la pertinence des imports, l'existence d'APIs, etc.

Bugs et évolutions

Bugs et évolutions

Historique

2015-05-14
  • upd 0010. Nouvelle version de JSLint (2015-05-08).
  • upd Refonte des écrans de préférences.
  • upd Retour à un versionning par date de publication.
3.12.0 (2014-04-27)
  • upd Adaptation à Gedit 3.12.
  • del Suppression du module paths (utilisation de GLib)
3.10 (2014-03-23) (CodeLint)
  • upd Restructuration du plugin.
  • add Validation du python via PyLint.
  • add 0008. Validation du PHP avec gestion de PHPLint2.
3.8 (2013-07-07) (JsValidator)
  • upd Adaptation pour Gedit 3.8 (python 3).
  • upd Adpotion d'une architecture commune à tous les plugins.
3.6 (2013-05-11) (JsValidator)
  • upd Adaptation pour Gedit 3.
  • upd Adoption d'une numérotation identique à celle de Gedit.
  • upd Utilisation de gjs.
  • add Utilisation du module GSettings.
  • add Fonctionnalité d'autocheck.
  • del Abandon de rhino et spiderMonkey.
  • del Suppression du forçage de la validation.
1.1 (2011-02-19) (JsValidator)
  • fix Bugs divers.
  • add Bouton effacer.
1.0 (2010-05-29) (JsValidator)
  • add 0003. Fenêtre de configuration (options JsLint).
  • upd Factorisation du code.
  • fix Bug de l'internationalisation.
0.7.1 beta (2010-05-22) (JsValidator)
  • fix Bug dans la distinction entre rhino et spidermonkey sous Ubuntu Lucid Lynx.
0.7 (2010-03-27) (JsValidator)
  • add Possibilité de forcer l'activation de la validation.
0.6 (2009-12-07) (JsValidator)
  • add Interface graphique avec glade.
  • upd Changement de structure des fichiers.
  • add Script d'installation.
0.5 (2009-09-24) (JsValidator)
  • add 0002. Possibilité d'utiliser spidermonkey.
0.4 (2009-04-17) (JsValidator)
  • upd Nettoyage du code et commentaires.
  • upd Meilleure gestion des événements (activation et blocage)
  • upd Panneau inactif si le document courant n'est pas un fichier javascript.
  • add 0001. Localisation du plugin avec gettext.
0.3 (2008-12-28) (JsValidator)
  • add Découpage des informations en 4 colonnes.
  • upd Légère modification de l'interface graphique.
0.2 (2008-12-26) (JsValidator)
  • fix Problème de rafraichissement de la liste
0.1 (2008-12-20) (JsValidator)
  • add Première version simple avec le moteur javascript Rhino.

Ressources et références

Titre
Gedit Reference Manual
Éditeur
Gnome Dev Center
Titre
Python Plugin How To for gedit 3
Éditeur
live.gnome.org
Date
Titre
Writing Plugins for gedit 3 with Python
Auteurs
  • Carrick MICAH
Éditeur
micahcarrick.com
Date
Titre
Dive Into Python
Auteurs
  • Mark PILGRIM
Éditeur
diveintopython.net
Date
Titre
The Python GTK+ 3 Tutorial
Auteurs
  • Sebastian PÖLSTERL
Éditeur
Read The Docs
Date
Titre
JSLint
Auteurs
  • Douglas CROCKFORD
Éditeur
jslint.com
Titre
PyLint
Éditeur
pylint.org
Titre
gedit-pylint 2
Auteurs
  • BCLAUSIUS
Titre
PHPLint
Auteurs
  • Umberto SALSI
Éditeur
www.icosaedro.it

Licence

CodeLint - Code validation plugin for Gedit Copyright (C) 2014, 2015 Rui Nibau

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.