wrongwrongな開発日記

しんまいさんの忘備録

【プログラミング】JetBrains製IDEでLanguage Injection(言語インジェクション)を使う

JetBrains製IDEで使える言語インジェクションとその使い方をまとめます。

言語インジェクションとは

コードを書く中で、HTMLやSQL、GLSLのシェーダーなど、別言語のコードを文字列として書く必要が出てくる場合があります。
しかし、エディタ上ではこれらのコードが文字列として扱われるため、以下のような問題が発生します。

  • インデントが手動になる
  • エディタの自動インデント機能が絡んで見にくい/書きにくい状況になる
  • 色分け表示ができない
  • 補完が効かない

こういった問題を解決する機能が言語インジェクションです。

使い方

公式ページのGifが見やすいです。文字列に対してAlt+EnterからInject language or referenceで言語インジェクション、更にAlt+EnterからEdit [言語名] flagmentで専用エディタを開いて編集ができます。
pleiades.io

SQLの付加機能

データベースに接続すれば、言語フラグメントからAlt+Enterでデータベースを叩くこともできます。専用ソフトに比べると使い勝手では劣りますが、エディタで完結でき、環境ごとに使い勝手が変わらないという意味では便利です。
pleiades.io

GLSLの場合

GLSLは初期状態では言語インジェクションがサポートされていないので、プラグインを入れる必要が有ります。
Settings→Plugins→Browse Repositoriesから探すと出てきます。
f:id:wrongwrongwrongwrong163377:20181030044016p:plain

感想

去年の内にこれを知りたかったです……。
JetBrains製エディタ最強ですね。汎用性、機能性を考えると、組織なら環境はこれに揃えるのがいいんじゃないかと本気で思っています。
というか知らない機能が多すぎるので、もっと勉強が必要ですね。