Java API pour SciTE (Fr)

L’éditeur SciTE peut être personnalisé avec l’ajout de fichiers d’API (Application Programming Interface) et de fichiers de mots-clés pour un ou plusieurs langages de programmation. La présence de ces fichiers permet d’améliorer la coloration du langage, par exemple coloration des noms de classe pour Java, d’afficher des bulles d’aide (calltips) et aussi de faciliter la complétion automatique des mots durant l’édition. Le script BeanShell SciteJavaApi.bsh, peut générer le fichier d’API et le fichier de mots-clés Java correspondant à votre environnement Java (JRE).

English

Fiche Technique

Prérequis

Si vous voulez seulement obtenir les fichiers d’API et mots-clés, téléchargez SciteJavaApi_api_files.zip et allez directement au paragraphe Configuration de SciTE.

Pour exécuter SciteJavaApi.bsh il vous faut:

  1. Une récente version du Java Runtime Environment
  2. Une récente version de BeanShell, langage dynamique pour Java. Dans le paragraphe Téléchargement ci-dessous, certains paquets contiennent déjà la librairie BeanShell.

Naturellement, vous aurez besoin d’avoir SciTE (Editeur de Texte Scintilla) pour évaluer l’effet des fichiers d’API.

Installation et Utilisation

  • Téléchargez la dernière version de SciTE Java API: scitejavaapi15.zip. Si vous n’avez pas BeanShell, téléchargez le paquet qui contient la librairie BeanShell: scitejavaapi15_bsh.zip
  • Extrayez le contenu du fichier zip SciteJavaApi sur votre disque dur.
  • Si les fichiers SciteJavaApi.bsh et bsh-2.0b5.jar sont dans le répertoire C:\SciteJavaApi, exécutez :
C:\SciteJavaApi>java --XX:MaxPermSize=128m -cp bsh-2.1b2.jar bsh.Interpreter SciteJavaApi.bsh
  • Vous obtenez:
Start ClassPath Mapping
Mapping: Archive: file:/C:/bsh/bsh-2.1b2.jar
Mapping: Archive: file:/C:/jdk1.5.0_06/jre/lib/rt.jar
End ClassPath Mapping
======================================
Beanshell SciteJavaApi
Version 1.6 July 10, 2011
Copyright 2000-2006 (c) Andre Burgaud
======================================
BeanShell 2.1b2 - http://code.google.com/p/beanshell2
Java 1.5.0_06 - by Sun Microsystems Inc.
======================================
Beanshell SciTETools Menu
- Type "q|Q" and [ENTER] to quit.
- Type "1" and [ENTER] to build a Java Keywords file for SciTE.
- Type "2" and [ENTER] to build a Java Api file for SciTE.
Your choice:
  • Choisissez "1" ou "2" pour générer respectivement le fichier de mots-clés ou le fichier d’API.
  • Pour générer un fichier d’API depuis une version de Java différente de la version courante, exécutez la commande java correspondante. Vous pouvez simplifier cette démarche par l’utilisation de la variable d’environnement JAVA_HOME. Pour un exemple concret, consultez les fichiers java_api.sh et java_api.bat inclus dans la distribution .
  • Après avoir généré les fichiers d’API et de mots-clés, vous pouvez passez à la configuration de SciTE.

Configuration de SciTE

  • Copiez les fichiers d’API et de mots-clés dans le répertoire d’installation de SciTE (où se trouvent les fichiers de propriétés de SciTE).
  • Assumant que les fichiers d’API et de mots-clés soient respectivement java150.api et java150_kwd.properties.
  • Ouvrez le fichier cpp.properties se trouvant dans le répertoire d’installation de SciTE.
  • Ajoutez-y les lignes suivantes (vérifiez auparavant si de telles lignes existent et modifiez-les si nécessaire):
import java150_kwd
api.*.java=$(SciteDefaultHome)\java150.api
calltip.java.word.characters=._$(word.chars.cxx)
calltip.java.parameters.start=(
calltip.java.parameters.start=)
calltip.java.parameters.separators=.

Note: Avant la version 1.5, SciteJavaApi.bsh générait un fichier de mots-clés dont le nom avait le format suivant: java150.kwd. Il fallait ensuite renommer le ficher java150_kwd.properties, pour permettre à l’importation de fonctionner. L’autre solution était de copier le contenu complet du ficher java150.kwd dans cpp.properties, solution non recommandée.

Si vous configurez SciTE comme expliqué ci-dessus les fonctions suivantes seront disponibles:

  1. Coloration des nom de classes Java,
  2. Calltips,
  3. Auto-complétion.

Coloration des Noms de Classes Java

Les noms de classes java apparaissent colorés en raison de la listes de ces classes dans le fichiers de mots-clés. Un exemple est démontré ci-dessous:

SciTE Keyword Highlighting

Pour modifier la couleur des classes Java, modifiez le style associé à keywords2, dans le fichier cpp.properties:

...
# Keywords2
style.cpp.16=fore:#B00040
...

Note: Pour limiter la taille du fichier de mots clés, sont seulement incluses les classes dont le package commence avec java. Par example, les classes du package javax ne sont pas présentes.

Calltips

Avec la configuration de calltips, telle que celle décrite dans le paragraphe Configuration de SciTE ci-dessus, quand vous ouvrez une parenthèse après une méthode java, une fenêtre d’aide s’affiche au niveau du curseur et indique les paramètres pour la méthode. Il est possible de naviguer avec la souris pour parcourir les différentes signatures disponibles pour cette méthode. Vous pouvez aussi manuellement ouvrir une fenêtre calltip en pressant Ctrl+Maj+Espace avec le curseur situé à l'intérieur des parenthèses d'une méthode Java.

SciTE Calltips

Auto Completion

SciTE permet de personnaliser le comportement de l’auto-complétion des mots. Dans le cas de Java, le plus simple pour expérimenter l’auto-complétion obtenue grâce au fichier API, est de presser simultanément Ctrl+Espace ou Ctrl+I après le début d’un mot-clé, comme démontré sur l’écran suivant:

SciTE API Completion

Il existe aussi un autre mode d'auto completion disponible dans SciTE. En tapant Ctrl+Entrée juste après une suite de caractères, SciTE liste les mots du fichiers commençant par la même suite de caractères.

SciTE Auto Completion

Compatibilité

  • La version 1.6 du script BeanShell a été testée avec BeanShell 2.0b5 et BeanShell2 2.1b2, J2SE 1.6.0_25 et 1.6.0_26 sur Mac OS X 10.6.8 et Windows 7.
  • La version 1.5 du script BeanShell a été testée avec BeanShell 2.0b4 et 2.0b5, Java 1.3.1, 1.4.2, 1.5.0 et 1.6.0, sur Windows XP et Linux. BeanShell 2.0b5 n’est pas compatible avec Java 1.3.1 et Java 1.4.2. Cela cause l’erreur suivante: java.lang.UnsupportedClassVersionError.
  • La version 1.4 du script BeanShell a été testée avec BeanShell 1.3, 2.0b2 et 2.0b4, Java 1.4.2 et 1.5.0.
  • La version 1.3 du script BeanShell a été testée avec BeanShell 2.0b1. Le script n’est pas compatible avec les versions précédente de Beanshell.
  • La version 1.2 du script n’est pas compatible avec BeanShell 1.3 ou 2.0b1. Le script fonctionne correctement avec avec BeanShell 1.2.

Notes de Publication

Version 1.6 - 07/10/2011

  • Testée avec Beanshell 2.0b5 et BeanShell2 2.1b2, J2SE 1.6.0_25 and 1.6.0_26.
  • Le problème reporté par Jaleks dane le commentaire du 9/7/011 (ExceptionInInitializerError) a été adressé.
  • Le script doit être lance avec le paramètre Java MaxPermSize plus importante. Example sous Linux: $ java -XX:MaxPermSize=128m -cp bsh-2.1b2.jar bsh.Interpreter SciteJavaApi.bsh
  • Known issues:
    • Une pile d'exception due a un problème avec sun.management.ManagementFactory s'affiche durant la generation du fichier d'API, mais n'interrompt pas le script.
    • Des traces s'affichent durant l'initialization static. Cela n'a pas d'impact pour générer le fichier d'API.

Version 1.5 - 20/12/2006

  • Testée avec Beanshell 2.0b5 et 2.0b4, J2SE 1.5.0 et 1.6.0.
  • Le trie des mots-clés a été modifié pour améliorer la performance.
  • Les instructions détaillées et la documentation ont été enlevées du script et placées sur le site internet.
  • Les noms complets des packages ne sont plus ajoutés au fichier d’API (car non utilisés par le mécanisme d’auto-complétion).

Version 1.4 - 12/05/2004

  • Testée avec BeanShell 1.3 et 2.0b2, Java 1.4.2 et 1.5.0.
  • Modifications implémentées pour maintenir la compatibilité avec BeanShell 1.3.
  • Capture l’Exception NoClassDefFoundError dans la méthode getCollectionApi(). Cette exception était due à la classe sun.font.FontManager du J2SE (Merci Marcelo pour rapporter ce problème).

Version 1.3 - 07/30/2004

  • Modifiée pour fonctionner avec BeanShell 2.0b1.
  • Testée avec BeanShell 2.01b1 et Java 1.4.2_05.
  • Non compatible avec les versions précédentes de BeanShell.

Version 1.2 - 04/06/2002

  • Erreur avec java 1.4.0 corrigée.

Version 1.1 - 01/08/2002

  • Première version publiée sur Internet.

Version 1.0b - 10/01/2001

  • Version initiale (non publiée).

Lecture Recommandée

Patrick Niemeyer, créateur de BeanShell, est l’auteur du livre Learning Java. Ce livre a une appendice dédiée à BeanShell.

Produit Similaire

Ressources

Téléchargement

Mentions légales

  • BeanShell est un logiciel libre publié sous deux licences: Sun Public License (SPL) et Lesser Gnu Public License (LGPL). Pour plus d’information consultez la page internet suivante: Licence BeanShell.
  • BeanShell2 est disponible sous la license Gnu Lesser GPL.
  • Java est une marque ou marque déposée de Sun Microsystems, Inc. aux Etats-Unis et dans d’autres pays.
Go Top
comments powered by Disqus