Language Injectionオモロイ

IDEA8から本体に取り込まれたIntelliLangプラグインだけど,あらためて使ってみたら実におもろい機能だってことが分かった。

"Language Injectionってナニヨ?"っていうと,メソッドパラメタやXMLタグ,XML属性などの特定箇所の文字列リテラルに対して,"そこには,この言語を記述するよ"と指定する。そすっと,そこんとこだけ,その言語の機能(シンタックスハイライトとかコード補完とか)が適用されるというシロモノ。


論よりツモ。

class SQL {
  public void query(String sql) { ... }
}

(↑)こんなコードがあったとして,メソッド:query()の第一引数にはSQL文を記述したい。な〜んて思ったとする。そんじゃま,ってんで"Settings->Language Injection"で,こんなふうに「引数sqlは,SQL文(SQLite)です」と宣言するのだ。


あとは,この通り(事前にProjectに対して,DataSourceも設定しといてね)。


まったく,面白すぎるぞ。IntelliJ!!