2007/08/31

Firefoxを別プロファイルで起動する。

Firefoxのエクステンションを開発するときにいつも使っている設定ではなく、必要なエクステンションだけの設定で作業したい。 Firefoxではプロファイルという単位で設定を記憶しているので、開発用のプロファイルを作成し開発時はそのプロファイルで作業する。

要はエクステンション開発環境の設定を行う。

開発プロファイルを作成する

OSXの場合、ターミナルで以下のコマンドでFirefoxを起動すると、プロファイルマネージャが起動する。

$HOME/Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfireManager

ここで、新しいプロファイルを作成する。

作成したプロファイルで起動するには「-p プロファイル名」というオプションで起動する。 develという名前で作成したとすると次のようになる。

$HOME/Applications/Firefox.app/Contents/MacOS/firefox-bin -p devel

いちいちコマンドを叩くのが面倒なので.bashrcにエイリアスを作っておくとかシェルを書いておくと楽になる。

設定をする。

さっきのプロファイルで起動したら、開発に便利な設定を行う。アドレスバーにabout:configと入力し、設定画面を開く。で、次の3つの設定変更を行う。

  • javascript.options.showInConsole = true :chromeにエラーがあった場合コンソールにログを出力する
  • nglayout.debug.disable_xul_cache = true:XULのキャッシュを行わないようにする。これによって再起動しないでもWindowとかDialogへの変更が反映されるようになる。ただし、JARではなく、ディレクトリで開発している前提で、オーバーレイを使用する場合はやはり再起動が必要。
  • browser.dom.window.dump.enabled = true:dump()メソッドで、標準コンソールに出力でできるようにする。詳しくはwindow.dumpを参照。また、nsIConsoleServiceも使える。
  • javascript.options.strict = true:Errorコンソールに厳密なJavaScriptの警告を出力する。

あと、開発時はExtension Wizardを使うと、スケルトンコードが簡単に作れる。