如果你在进行Firefox扩展的开发之前,不进行开发环境的构建,那么会遇到很多麻烦,例如:

  • 影响正常使用
  • 调试困难

要避免以上的问题,那么你就必须构建一个和平时使用不一样的环境。

新的profile

首先,你可以以一个新的配置来启动一个Firefox实例,而原来的配置不会收到影响。打开你的终端,输入以下命令:

  • 苹果系统:/Applications/Firefox.app/Contents/MacOS/firefox-bin -no-remote -P dev &
  • Windows系统:start “” “%ProgramFiles%\Mozilla Firefox\firefox.exe” -no-remote -P dev
  • 在linux下类似。

这个命令的作用就是,以名为dev的配置来启动一个新的Firefox实例。第一次执行的时候,可能会弹出一个框来,叫你设置一些东西。按照提示操作即可。

about:config

启动这个名为dev的profile的Firefox实例之后,可以进入about:config修改一些配置。

  • javascript.options.showInConsole = true. 把chrome文件的错误输出到错误控制台
  • nglayout.debug.disable_xul_cache = true. 这样修改界面就不需要重启了。不过如果是涉及了overlays的xul,还是必须重新载入宿主才能生效。这个设置不会对jar起作用,不过我建议你不要 在开发环境里使用jar,这样调试起来很麻烦。
  • browser.dom.window.dump.enabled = true。可以在脚本里用dump来输出调试信息到终端,例如dump(“测试”)。
  • javascript.options.strict = true。严格的脚本错误报告。如果不设置这个,一些脚本错误将不会被输出到错误控制台。
  • extensions.logging.enabled = true. 使错误控制台里显示更多的和安装和更新有关的错误信息。

自定义扩展的路径

  • 为了方便,避免每次更新都安装一个xpi
  • 也为了安全,避免删除扩展的时候把你的代码都删除掉

进你的扩展目录,创建一个名字为你的扩展id(id可以在你的install.rdf里找到)的文件,例如 verydou@liulanqi.org。内容为一个指向你的扩展目录的字符串。例如/Users/surfchen/projects /verydou。重启Firefox之后,你的扩展就会自动添加进来了。