Pour bien commencer

Il vous faudra :

  • Ça parait évident mais il vous faut un navigateur digne de ce nom (encore qu'un XulRunner fasse l'affaire)...
  • Un environnement de développement propre :
    • Un profil dédié au développement : Le gestionnaire de profils pour Firefox et Thunderbird (Geckozone)
    • Pour ne pas à avoir à relancer Firefox à chaque changement de virgule : Setting up extension development environment, en gros il faut ça dans le user.js :
      // Log errors in chrome file to the Javascript Console
      user_pref( "javascript.options.showInConsole", true);
      // Disable XUL cache, so chrome changes do not require a restart
      user_pref( "nglayout.debug.disable_xul_cache", true);
      // dump() function outputs to console if application started with -console flag
      user_pref( "browser.dom.window.dump.enabled", true);
      // Enable strict javascript warnings, to produce clean extensions
      user_pref( "javascript.options.strict", true);
    • Pour effectuer ces dernières modifications je recommande ChromEdit Plus.
  • De la mémoire vive, 1.5Go minimum, sinon Eclipse va ramer à la limite de l'utilisabilité.
  • Une bonne machine virtuelle Java, indispensable à Eclipse : JRE 1.5.
  • Eclipse avec Web Tools Platform : Web Tools Platform downloads (wtp-all-in-one-sdk-R-1.5.2-200610261841-win32.zip)
  • Et enfin, last but not least, Download XulBooster

Configurer tout ça

  • Installez Eclipse (il suffit de dézipper).
  • Ajouter XulBooster, c'est super simple : Menu Help, Software Updates, Find and Install..., Search for new features to install, New Archive Site..., puis sélectionnez le zip de XulBooster (XulBooster-0.1.4.zip).
    En cas de doute, suivez les instructions décrites là : How to install XulBooster
  • Et c'est tout !

Utilisez enfin XulBooster

Précisez quel navigateur lancer, quel profil utiliser :
Préferences

Créez votre projet, extension, fichier xul :
Nouveau Projet Nouvelle extension Nouveau Fichier

Éditez vos fichier Xul :
Édition
L'aborescence (à gauche) est créée automatiquement.
Et remarquez les éléments Xul (snippets) en bas, c'est du cliquodrome...!

Voici certains éléments Xul (snippets), les attributs sont également prévus :
Box Checkboxes Grid Scrollbar Script Listbox

Classique, l'auto-complétion javascript :
Auto-complétion javascript

Très pratique également, l'édition du fichier install.rdf :
install.rdf
Remarquez en bas le lien Register extension qui, comme son libellé l'indique, permet d'enregistrer l'extension dans Firefox. (Un fichier texte du nom de l'ID de l'extension et contenant le répertoire où elle se trouve est alors créé dans le répertoire extensions du profil Firefox choisi plus haut.)
Et la gestion des dépendances :
Dépendances install.rdf

Puis enfin lancez Firefox :
Lancer Firefox

On regrettera toutefois l'abscence de possiblité de zipper automatiquement l'extension au format xpi.