Android Studio (IntelliJ IDEA) の Language Injection

Android Studio (およびそのベースとなっているIntelliJ IDEA)にはLanguage Injection というおもしろ機能があります。I/Oのセッションでも簡単に説明していた正規表現チェックの例を使ってみます。

まず、以下は(Javaのリファレンスにも載っているような)非常に簡単な正規表現チェックコードの例です。aが0回以上とbという文字列が含まれるかどうかチェックしています。

正規表現コード例
正規表現コード例

ここで正規表現(“a*b”)にカーソルを合わせて、Alt+Returnでポップアップメニューを表示し、Inject Language を選択……

Inject Language
Inject Language

さらにどんな言語の機能を差し込むのか選択が出るので、Regular Expression(正規表現)を選択します。

Inject RegExp
Inject RegExp

これで準備完了です。再度 Alt+Returnでポップアップメニューを呼び出すと、正規表現チェックのメニューが増えているかと思いますので、それを選択肢ます。

Check RegExp
Check RegExp

すると、正規表現をチェックするダイアログのようなものが表示されます。

正規表現チェッカ登場
正規表現チェッカ登場

ではここに正規表現とマッチしない文字列を入れてみます。

正規表現がマッチしなければ赤
正規表現がマッチしなければ赤

マッチしないので赤表示となります。次にマッチする文字列を入れます。

正規表現がマッチすれば緑
正規表現がマッチすれば緑

マッチするので緑に変わりました。

ということで、プログラム開発中に、テストを動かすまでも無く簡易に正規表現が意図通りに動作するものとなっているかを確認することができます。 (( ちゃんとテストコードも書くべきなのは当然です。 ))

もうここではこのLanguage Injectionを使わないぞと思ったら、取り除くこともできます。

不要になったらun-inject
不要になったらun-inject

ちょっとした機能ではありますが、これも開発効率アップに貢献してくれる機能の一つです。