はじめに
XDebug 関連の設定を探していたら 本家 で xdebug.file_link_format というディティクティブを見つけました。
これはなに?
ブラウザに XDebug のエラーが表示された場合、それがテキストリンクになっていて、そのリンクをクリックすると IDE で該当する行へジャンプしてくれます。
NetBeans + XDebug で、または xdebug.file_link_format で検索しても、日本語説明のページがヒットしなかったので、ここに記します。もし Windows で NetBeans で XDebug を使っているなら、これを使わない手はありません。
設定手順
本家 では「Firefox on Linux」と「Windows and netbeans」の設定方法が載っています。Windows + NetBeans の方をやってみたので記します。
手順は大きく3つあります。
- バッチを作成し、Windows フォルダへ置く
- レジストリを設定する
- php.ini に設定を書く
1. バッチの作成
以下のテキストを netbeans.bat
というファイル名で保存し、C:¥Windows
などパスが通っているフォルダに置きます。
@echo off
setlocal enableextensions enabledelayedexpansion
set NETBEANS=%1
set FILE=%‾2
%NETBEANS% --nosplash --console suppress --open "%FILE:‾19%"
nircmd win activate process netbeans.exe
もし nircmd
をお持ちでなかったら最後の行は削除してください。
2. 以下のテキストを netbeans_protocol.reg
というファイル名で保存します。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT¥netbeans]
"URL Protocol"=""
@="URL:Netbeans Protocol"
[HKEY_CLASSES_ROOT¥netbeans¥DefaultIcon]
@="¥"C:¥¥Program Files¥¥NetBeans 7.1.1¥¥bin¥¥netbeans.exe,1¥""
[HKEY_CLASSES_ROOT¥netbeans¥shell]
[HKEY_CLASSES_ROOT¥netbeans¥shell¥open]
[HKEY_CLASSES_ROOT¥netbeans¥shell¥open¥command]
@="¥"C:¥¥Windows¥¥netbeans.bat¥" ¥"C:¥¥Program Files¥¥NetBeans 7.1.1¥¥bin¥¥netbeans.exe¥" ¥"%1¥""
NetBeans へのパスは二回出てきます。これらは、ご自身の環境に合わせて書き換えてください。また netbeans.bat
のパスも最初の手順で保存したパスと一致するよう確認しましょう。
作成した netbeans_protocol.reg
をダブルクリックしてレジストリを登録します。
3. php.ini の設定
php.ini に以下のディティクティブを追加してください。
xdebug.file_link_format = "netbeans://open/?f=%f:%l"
終ったら PHP(Apache)を再起動しましょう。