IntelliJ IDEA 2019.2ヘルプ

言語インジェクション

言語インジェクションは、XMLのような言語でタグや属性だけでなく、文字列リテラル内のコードを扱うことを可能にします。

文字列リテラル、タグ、または属性の中に正式な言語(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年8月19日

関連事項

関連ページ:

プラグインを管理する

プラグインはIntelliJ IDEAのコア機能を拡張します。バージョン管理システム、アプリケーションサーバー、その他のツールとの統合を提供、さまざまな言語およびフレームワークに対するコーディング支援サポートを追加する、ショートカットヒント、ライブプレビュー、ファイルウォッチャーなどを使用して、生産...

TODO コメント

場合によっては、将来の参照用にコードの一部にマークを付ける必要があります。最適化と改善の分野、変更の可能性、検討すべき質問などです。IntelliJ IDEAを使用すると、エディターで強調表示され、索引が付けられ、TODOツールウィンドウにリストされている特別なタイプのコメントを追加できます。このよ...

スクラッチ・ファイル

時々、一時的なメモを作成したり、プロジェクトのコンテキストの外側でコードを作成したりする必要があるかもしれません。この目的で別のアプリケーションに切り替える代わりに、スクラッチファイルとスクラッチバッファを使用できます。スクラッチ・ファイルは、構文強調表示、コード補完、および対応するファイルタイプの...

言語インジェクション

WindowsとLinux用のmacOS用言語インジェクションページを利用可能にするには、IntelliLangプラグインを有効にする必要があります。(このプラグインはIDEにバンドルされており、デフォルトで有効になっています。)このページを使用して、使用可能な言語インジェクションのリストを管理し、...