IntelliJ IDEA 2019.2ヘルプ

言語インジェクション

言語インジェクションを使用すると、コードに埋め込まれた他の言語のコードを操作できます。言語(HTML、CSS、XML、RegExpなど)を文字列リテラルに挿入すると、そのリテラルを編集するための包括的なコード支援が得られます。

一時的に言語を挿入する

  1. 言語を挿入する文字列リテラル、タグ、または属性の中にキャレットを置き、Alt+Enter を押します(またはインテンションアクションアイコン Intention action iconを使用します)。

  2. 言語または参照を注入を選択し、インジェクションする言語を選択します。

専用エディターセクションでコードフラグメントを開く

  1. インジェクションされたコード片の中にキャレットを置き、Alt+Enter を押します(またはインテンションアクションアイコン Intention action iconを使用します)。

  2. <言語ID>フラグメントの編集を選択します。

    IntelliJ IDEAは、インジェクションされた言語でコードを編集するための専用のエディターセクションを開きます。このエディターは、コード補完、インスペクション、インテンション、コードスタイルのアクションなど、完全なコードアシスタンスを提供します。

言語インジェクションのコメントを使用する

ターゲット文字列リテラルの前に空白行を追加し、次のコメントを入力します。

-- language=<language_ID>

コメントについては、インジェクションしたい言語の構文を使用してください。言語IDは一般的に直感的です。たとえば、SQL、RegExp、XML、HTMLなどです。

言語フラグメントは、フラグメントを構文的に完全な言語単位に変換するラッパーとして一緒に作用する接頭辞および接尾辞と組み合わせることができます。コードを編集するときは、接頭辞と接尾辞はフラグメントエディターでのみ表示されます。メインエディターには表示されません。

接頭辞と接尾辞は、次のようにインジェクションコメントに含めることができます。

// language=<language_ID> prefix=<prefix> suffix=<suffix>

@Language注釈を使用する

一部の言語(Java、Groovy、Kotlinなど)では、@Language("language_ID") 注釈を使用して言語を挿入することもできます。

  1. ターゲット文字列リテラルの前の空白行に @Language("language_ID")と入力します。

  2. 注釈にキャレットを置き、Alt+Enter を押してクラスパスに「注釈」を追加するを選択します。

    IDEは、Mavenの注釈を含むライブラリーをダウンロードするように指示します。

  3. JDK 1.8以降を使用する場合は、検索フィールドに org.jetbrains:annotations:16.0.2 と入力します。

    JDK 1.5,1.6,1.7では、org.jetbrains:annotations-java5:16.0.2と入力します。

  4. OKをクリックします。

  5. Alt+Enter を押してクラスのインポートを選択します。

インジェクションをキャンセルする

  1. キャレットをコードの一部に配置して Alt+Enter を押す(またはインテンションアクションアイコン the Intention action buttonを使用する)。

  2. 言語や参考文献をインジェクションしないを選択します。

言語インジェクションをキャンセルするには、インジェクションコメントまたは注釈を削除することもできます。

インジェクションルールを設定する

IntelliJ IDEA設定 Ctrl+Alt+Sエディター | 言語インジェクションページで言語インジェクションルールを設定できます。

Language injections settings

定義済みのすべてのインジェクションルールはビルトインスコープ用に設定されています。言い換えれば、それらはグローバルです(したがってすべてのIntelliJ IDEAプロジェクトで利用可能です)。カスタムルールはIDEまたは1つのプロジェクトに対してのみ設定できます。カスタムインジェクションの範囲を変更するには、the Move to Project/IDE scope buttonを使用してください。

カスタムインジェクションルールを設定するには、the Add button をクリックして新しいルールを追加するか、あらかじめ定義されたルールをコピーして設定を変更します。

サンプル: JavaでSQLをインジェクションする

特定のメソッドを使用するたびに、IDEは選択された言語(SQLなど)をインジェクションするように設定を構成できます。

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディター | 言語インジェクションに移動します。

  2. the Add button をクリックし、Javaパラメータを選択します。

  3. IDリストから、SQLを選択します。

  4. クラス・メソッドフィールドに、SQLパラメーターを取得する方法を入力します。メソッドを手動で入力するか、the Browse button をクリックして、クラスの選択ダイアログでメソッドを選択します。

    メソッドが複数のパラメータを取る場合、それらはダイアログに表示されます。使用するものを選択します。

  5. 変更を適用し、ダイアログを閉じます。

最終更新日: 2019年9月20日