Custom Languages and Regular Expressions in IntelliJ IDEA | IntelliJ IDEA Blog

ようやっとIntelliLangプラグインの使い道が分かってきた。


このプラグイン@Languageとか@Patternってアノテーションを使うことで,Javaコード中の文字列(String)に対して,IDEAの多言語機能を適用できるようになる。
例えば,

@Pattern("??p{Alnum}")
String str = "あいうえお";

とか書くと,@Patternアノテーション直下の変数の値がアルファベットか数字じゃないと文句を言ってくれる。


マメに設定してあげれば,なかなか便利なシロモノなんだけど,当然アノテーションを定義しているJarファイルが要るし,IDEA以外でこの恩恵を受けられるかがチト疑問。
コンパイルアノテーション(RetentionPolicy.CLASS)だから,実行時に邪魔はしないと思うけど,IDEA以外で検査できるんだろうか?
#aptがあるでもないし。


似たようなので,IDEA付属のアノテーション@Nullable,@NotNull)ってのもあるって,これも使いようによっちゃあ便利なんだけど,やっぱりIDEAに依存しそうなんで,使うのをためらっている。


やっぱり,JSR-305待ちかな。