DataGrip 2026.1 Help

言語と参照のインジェクション

言語インジェクションを使用すると、ファイルのメイン言語とは異なるプログラミング言語のコードを操作できます。

文字列リテラルに言語 (HTML、CSS、XML、RegExp など) を挿入すると、それがプロジェクトのメイン言語でなくても、挿入されたコードに対する包括的なコーディング支援が得られます。

言語インジェクションに加えて、IDE は文字列リテラルを他のエンティティへの参照として扱う参照インジェクションもサポートしています。

言語インジェクションを追加する

一時的な言語インジェクションを追加する

  1. 言語を挿入したい文字列リテラル、タグ、または属性内にキャレットを置き、 Alt+Enter を押してください(または インテンションアクション アイコン インテンションアクションアイコン を使用してください)。

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

    HTML をインジェクションする

永続的な言語インジェクションを追加する

言語インジェクションコメント (アノテーション) を使用して、インジェクションされた言語の永続的なフラグメントを追加します。

  • ターゲット文字列リテラルの前に空白行を追加し、次のコメントを入力してください:

    -- language=<language_ID>
    言語インジェクションコメントを使用する

    コメントには、挿入したい言語の構文を使用してください。 言語 ID は一般的に直感的で、例えば SQL、RegExp、XML、HTML などです。

    設定で言語 ID を確認することもできます。 Ctrl+Alt+S を押して設定を開き、 エディター | 言語インジェクション を選択します。 言語のインジェクションルールをダブルクリックすると、言語 ID が ID フィールドに指定されます。

  • (オプション) コメントに接頭辞または接尾辞を含めます。

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

    これは次の場合に必要です:

    • 文字列は不完全 / 部分的な SQL 文です

    • 文字列は、サポートされている呼び出し(select /where) など)で直接使用されていません。

挿入された言語フラグメントを編集する

DataGrip は、挿入された言語フラグメントを専用のエディターで編集できます。

フラグメントエディターを開く

  1. 挿入されたコード部分内にキャレットを置き、 Alt+Enter を押してください(または インテンションアクション アイコン インテンションアクションアイコン を使用してください)。

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

    DataGrip は、インジェクションされた言語でコードを編集するための専用エディターセクションを開きます。 このエディターは、コード補完、インスペクション、インテンションアクション、コードスタイルアクションを含む、充実したコーディング支援を提供します。

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

参照を挿入する

参照インジェクションは、文字列リテラルをファイルなどの他のエンティティへのリンクとして解釈します。

例: resources/config.json はファイルへの参照として扱うことができます。

一時的な参照インジェクションを追加する

  1. 参照を挿入したい文字列リテラル内にキャレットを置き、 Alt+Enter を押してください(または インテンションアクション アイコン インテンションアクションアイコン を使用してください)。

  2. 言語または参照の挿入 を選択し、オプションを選択します。 例: ファイル参照 は指定されたファイルへのリンクを追加します。

    インストール済みのプラグインによっては、他の参照オプションも利用できる場合があります。

    ファイル参照を挿入する

永続的な参照インジェクションを追加する

コメントを使用して永続的な参照インジェクションを追加します。

  • ターゲット文字列リテラルの前に空白行を追加し、必要な値を含む -- language= コメントを入力します。

    • -- language=file-reference はファイルへの参照を追加します。

    例:

    -- language=file-reference INSERT INTO config_path (id, path) VALUES (1, 'resources/config.json');

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

永続的な言語インジェクションをキャンセルする

言語インジェクションをキャンセルするには、それを導入するために使用したコメント (アノテーション) を削除します。

    一時的な言語挿入をキャンセルする

    1. キャレットをコード箇所に置き、 Alt+Enter を押してください(または インテンションアクション アイコン the intention action button を使用してください)。

    2. 言語または参照の挿入解除 を選択します。

    インテンションアクションバルブアイコンを無効にする

    エディターでインテンションアクションアイコン インテンションアクションアイコン を非表示にするには、次の手順を実行します。

    1. Ctrl+Alt+S を押して設定を開き、 エディター | 一般 | 外観 を選択します。

    2. インテンションバルブを表示する チェックボックスをクリアします。

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

    自動インジェクションのルールを構成する

    DataGrip には、IDE がコード内の特定の場所に言語を自動的に挿入するための事前定義されたルールセットがあります。

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

    言語インジェクション設定

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

    VCS を介してカスタムルールを共有するには、ツールバーの対応するオプションを使用して、カスタムルールを プロジェクト スコープに移動します。 そうすることで、バージョン管理下に置くことができるカスタムルールを使用して IntelliLang.xml という名前の新しいファイルを .idea ディレクトリに作成します。

    VCS を使用しない場合は、ルールを XML ファイルにエクスポートして(ツールバーの エクスポート をクリック)、別のプロジェクトにインポートすることで、ルールを共有できます。

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

    2026 年 5 月 22 日