RubyMine 2026.1 Help

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

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

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

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

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

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

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

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

    Inject an SQL query in a Ruby script

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

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

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

    // language=<language_ID>
    SQL injection comment

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

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

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

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

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

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

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

    接頭辞を含むコメントによる言語インジェクション

ヒアドキュメント文字列を使って言語をインジェクトする

Ruby コンテキストでは、 ヒアドキュメント文字列内に言語を挿入できます。

  1. ヒアドキュメント文字列を入力し始め、挿入したい言語 ID にマーカーを設定します。 言語 ID は一般的に直感的で、たとえば SQL、RegExp、XML、HTML などです。

    Injecting inside heredoc
  2. (オプション) 接頭辞または接尾辞を指定するには、以下のコードブロックに示すように、言語インジェクションコメントを使用します。

    def feed # language=sql prefix="select " following_ids = <<~SQL.squish followed_id from relationships WHERE follower_id = :user_id SQL

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

RubyMine では、インジェクトされた言語フラグメントを専用エディターで編集できます。

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

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

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

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

    Edit the injected SQL query in the dedicated editor

参照を挿入する

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

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

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

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

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

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

    ファイル参照を挿入する

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

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

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

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

require 'pathname' def print_file_path(path) puts "File path: #{Pathname.new(path).realpath}" end def main # language=file-reference print_file_path('app/views/posts/_form.html.erb') end main if __FILE__ == $PROGRAM_NAME

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

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

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

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

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

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

      言語の非インジェクション

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

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

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

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

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

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

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

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

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

      定義済みのすべてのインジェクションルールは ビルトイン スコープ用に設定されています。 つまり、それらはグローバルであり(したがってすべての RubyMine プロジェクトで利用できます)。 カスタムルールは IDE または 1 つのプロジェクトに対してのみ設定できます。 カスタムインジェクションの範囲を変更するには、 プロジェクト/IDE スコープへの移動ボタン を使用してください。

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

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

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

      2026 年 6 月 2 日