PyCharm 2026.1 Help

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

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

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

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

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

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

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

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

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

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

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

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

    # language=<language_ID>
    HTML インジェクションコメント

    コメントには、挿入したい言語の構文を使用します。 言語 ID は一般的に直感的で、たとえば SQL、RegExp、XML、HTML です。

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

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

    # language=<language_ID> prefix=<prefix> suffix=<suffix>

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

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

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

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

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

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

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

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

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

    専用エディターで HTML フラグメントを編集する

参照を挿入する

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

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

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

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

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

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

    ファイル参照を挿入する

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

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

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

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

from pathlib import Path def print_file_path(path: str): print(f"File path: {Path(path).resolve()}") def main(): # language=file-reference print_file_path("src/main/resources/settings.yaml") if __name__ == "__main__": main()

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

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

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

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

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

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

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

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

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

      2. Show intention bulb チェックボックスをクリアします。

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

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

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

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

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

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

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

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

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

      2026 年 6 月 1 日