しおしお

IntelliJ IDEAのことなんかを書いてます

IntelliJのLanguage Injectionを調べてみた(続編)

相変わらず炎上中のしおしおです。年末年始はなんとか31から3まではお休みできそうです。なぜか4から11まで休みなしの出勤になっていましたが・・・

本題のIntelliJのLanguage Injectionの続編です。前回の記事は、IntelliJのLanguage Injectionを調べてみた - しおしおの雑記帳を見てくださいまし。

独自のメソッドのパラメータの言語を変更する

Language Injectionの設定は、[Settings]->[Language Injections]から行います。

今回は、Javaのメソッドパラメータを例にするので、Java Parameterを選択します。
f:id:sioiri:20121221000554p:plain

IDで挿入したい言語を選択し、ParametersからIDで指定した言語として認識させたいパラメータをチェックします。
f:id:sioiri:20121221000612p:plain

正規表現の場合は、こんな感じになります。
f:id:sioiri:20121221001046p:plain

(私は、仕事でおれおれフレームワークを使っているので、taglibのbody部にJavaScriptをLanguage Injectionするなんてこともしたりしています。)

SQLと認識されているリテラルからSQL文を実行しよう

Alt + Enterのリストから「Run Query in Console」を選択するとDatabaseプラグインと連携してSQL文が実行できます。

f:id:sioiri:20121221001304p:plain

バインド変数があると、何を埋め込むか聞いてくれます。かしこいですね。
f:id:sioiri:20121221001534p:plain

ちなみに、「:」から始まる名前付きバインド変数?も認識してくれます。
f:id:sioiri:20121221001559p:plain

SQLの実行結果はこんな感じで出力されます。
f:id:sioiri:20121221001751p:plain

正規表現のテストをしよう

Alt + Enterのリストから「Check RegExp」を選択すると正規表現のテストができます。また、正規表現を「\」を使ってエスケープする必要がないので正規表現を書くのも便利だったりします。
f:id:sioiri:20121221002038p:plain

ちょっとわかりづらいけど、こんな感じでテストができます。Sampleに入れた値が正規表現にマッチしない場合は背景が赤色になります。またRegExpの正規表現は「\」で適切にエスケープされて実コードにリアルタイムに反映されます。
f:id:sioiri:20121221002122p:plain

おわり。