Configuration d'un environnement de développement d'extensions

Cet article donne quelques suggestions concernant la configuration de votre application Mozilla pour développer des extensions.

Préférences de développement

Voir ci-dessous Profil de développement pour paramétrer un profil de développement séparé avant de faire une des modifications présentées dans cette section.

Ces préférences rendront le débogage plus facile, au détriment des performances.

Consultez Editing Configuration Files pour plus d'informations sur la définition de préférences. Notez que certaines d'entre-elles ne sont pas listées dans <tt>about:config</tt> par défaut, vous devrez donc créer de nouvelles entrées (booléennes) pour celles-ci.

  • javascript.options.showInConsole = true. Note les erreurs dans les fichiers chrome dans la console JavaScript.
  • nglayout.debug.disable_xul_cache = true. Désactive le cache XUL afin que les changements dans les fenêtres et dialogues ne nécessitent pas un redémarrage. Cela suppose que vous utilisiez des répertoires plutôt que des fichiers JAR. Les changements dans des overlays XUL nécessiteront toujours le rechargement du document affecté.
  • browser.dom.window.dump.enabled = true. Permet d'utiliser l'instruction dump() pour afficher des informations sur la console standard. Vous pouvez également utiliser nsIConsoleService depuis des scripts à privilèges.
  • javascript.options.strict = true. Active les avertissements Javascript stricts dans la console d'erreurs. Notez que comme beaucoup de gens ont désactivé cette option même pour développer, vous verrez beaucoup d'avertissements concernant des problèmes dans leur code en plus de deux qui concernent votre propre extension. Ceux-ci peuvent être filtrés avec Console2.
  • devtools.errorconsole.deprecation_warnings. Permet de savoir si du code utilisé est déprécié et devrait être modifié.

Extensions utiles au développement

Ces extensions peuvent vous aider au cours de votre développement.

Profil de développement

Pour éviter les pertes de performances liées aux préférences et extensions de développement, et pour éviter d'endommager vos données personnelles, vous pouvez utiliser un profil séparé pour vos activités de développement.

Vous pourrez exécuter deux instances de Firefox utilisant des profils différents si vous définissez la variable d'environnement MOZ_NO_REMOTE à 1. Par exemple, sous Windows, vous pouvez utiliser le fichier BAT suivant pour exécuter Firefox avec un profil de développement, qu'un Firefox « normal » soit déjà lancé ou non. (En supposant que votre profil de développement s'appelle « dev ») :

set MOZ_NO_REMOTE=1
start "" "%ProgramFiles%\Mozilla Firefox\firefox.exe" -P dev

Pour lancer Firefox avec le profil par défaut, lancez simplement « firefox » ou « firefox -P default », comme d'habitude.

Emplacement de code personnalisé

Pour les applications Toolkit, plutôt que d'avoir à réinstaller constamment l'extension dès que vous changez quelque chose et pour protéger vos fichiers source d'une suppression accidentelle lors d'une désinstallation, vous pouvez placer vos sources en dehors de votre profil, à l'emplacement de votre choix. Pour ce faire, créez un fichier du même nom que l'ID de votre extension tel que défini dans votre install.rdf. Dans ce nouveau fichier, indiquez le chemin vers le dossier contenant votre fichier install.rdf. Ensuite, placez le fichier dans le dossier des extensions de votre profil et relancez l'application.

Utilisation de répertoires plutôt que de fichiers JAR

Que vous choisissiez de distribuer le chrome de votre extension dans un fichier JAR ou dans des sous-répertoires, le développement est plus simple en utilisant des répertoires. Si vous décidez de distribuer sous la forme d'un fichier JAR, il est toujours possible de développer dans une structure de répertoires en modifiant votre chrome.manifest. Par exemple, plutôt que d'avoir

content	monExtension	jar:chrome/myExtension.jar!/content/

utilisez

content	monExtension	chrome/content/

 

 

 

 

 

Étiquettes et contributeurs liés au document

Étiquettes :
Contributeurs ayant participé à cette page : Nfroidure, BenoitL, Fredchat, Apourche, Mgjbot
Dernière mise à jour par : Nfroidure,