特定のメソッドの引数を別言語(SQLや正規表現、JavaScript)として扱う機能のLanguage Injectionについてのまとめ。
Language Injectionの設定は、「Settings」->「Language Injections」にあります。
デフォルトでも、これだけの設定がされています。
例えば、java.sql.Connectionの場合、幾つかのメソッドの引数がSQLとして設定されていることがわかります。(ダブルクリックするとこの画面が開きます)
実際にLanguage Injectionが設定されているメソッドを呼び出して見ると、なんとなくSQLになっているのがわかります。
Database Windowからテーブルを選択して、Find Usageするとちゃんと引っかかるので、SQLとして認識されているのがわかります。
Database Windowの使い方は、2012-12-18 - marsのメモを見てくださいまし。
よくSQLを定数化して書いたりしますよね?この場合でもLanguage Injectionは聞いてくれるみたいです。
さすがに別クラスにある定数は、SQLとして認識してくれないようです。
この場合は、Quick Fix(Alt + Enter)からInject Languageを選んでSQLとして認識させる必要があるようです。
会社行く時間になったので、ここまで。