6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【IntelliJ IDEA】Language Injectionsを使ってみる

Last updated at Posted at 2019-05-08

今回はIntelliJのLanguage Injectionsという機能を使ってみたいと思います。
IntelliJの細かい設定や操作の詳細は公式ドキュメントを参考にしてください。

Language Injectionsとは

Language Injectionsとは、文字列の中でJSON,やSQLなどの言語を記述する際に、文法チェックや補完などをIDEがおこなってくれたり、文字列の中の言語をより書きやすくしてくれる機能です。

Language Injectionsを使わない場合

例えば文字列の中でJSONを記述しようとすると、以下のようにダブルクオーテションをエスケープしながら記述する必要があるのですが、これを手で書いていくのはなかなかつらいと思います。
1.png

また、以下のようにJSONの文法エラーとなるような記述をしても、文字列として扱われるためIDEはエラーと認識しません。
2.png

Language Injectionsを有効にするとこういった不便な問題を解決することができます。

Language Injectionsを使った場合

まず、空の文字列を記述して、カーソルを文字列に合わせた状態でalt + returnを押して、以下を表示させます。
3.png

Inject language or referenceをクリックして、JSONを選択します。
4.png

もう一度文字列にカーソルを合わせてalt + returnを押すと、Edit JSON Fragmentが表示されるのでクリックします。
5.png

クリックすると、JSON Fragementというviewが表示されます。そこに生のJSONを記述すると、実際のコードの文字列の中でも自動的にダブルクオーテーションがエスケープされた状態でJSONが同時に記述されます。
6.png

また、この状態で文字列の中にJSONの文法エラーとなるような記述を書くと以下のようにIDEがエラーを表示してくれるのでとても便利です。
7.png

おわりに

今回はJSONのケースを紹介しましたが、SQLでは候補予測や補完が有効になったり、他にもxmlやyaml, JPAのJPQLやJiraのJQLなど様々な言語に対応しているので、ぜひ試してみると良いと思います。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?