IntelliJ IDEA 2020.2 Help

言語インジェクション

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

PHPのコンテキストでは、インジェクション可能なPHPと呼ばれる特別なPHPダイアレクトを使用できます。このダイアレクトは、省略可能な <?php 開始タグを除いて、PHPに似ています。インジェクション可能なPHPは、他の言語と同様に、文字列リテラルに手動で挿入できます。さらに、eval()(英語)コールおよび言語識別子が phpに設定されたMarkdownフェンスコードブロックに自動的に挿入されます。

一時的に言語をインジェクションする

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

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

    Injecting HTML in Java

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

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

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

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

    Editing the injectedcode fragment in the dedicated editor

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

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

    // language=<language_ID>

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

    Use language injection comments

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

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

// language=<language_ID> prefix=<prefix> suffix=<suffix>
Using prefixes and suffixes in language injection

@Language注釈を使用する

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

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

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

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

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

    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. 言語や参考文献をインジェクションしないを選択します。

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

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

言語インジェクションルールは、設定/環境設定 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. 変更を適用し、ダイアログを閉じます。

最終更新日: 2020年7月28日

関連ページ:

プラグインを管理する

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

Markdown

Markdownは、プレーンテキストにフォーマット要素を追加するための軽量のマークアップ言語です。IntelliJ IDEAはMarkdownファイルを認識し、それらに専用のエディターを提供し、レンダリングされたHTMLをライブプレビューで表示します。Markdownエディターは、見出しの管理、太字...

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

macOSのIntelliJ IDEA | 環境設定 | エディター | 言語インジェクションFor the言語インジェクションpage to be available, the IntelliLangpluginmust be enabled. (このプラグインはIDEにバンドルされており、デフォ...

TODO コメント

時々、将来の参照のためにコードの一部をマークする必要があります:最適化と改善の領域、起こり得る変更、議論される質問など。IntelliJ IDEAを使用すると、エディターで強調表示され、インデックスが付けられ、TODOツールウィンドウにリストされる特別なタイプのコメントを追加できます。この方法で、あ...

スクラッチ・ファイル

場合によっては、一時的なメモを作成するか、プロジェクトコンテキストの外でコードを作成する必要があります。この目的で別のアプリケーションに切り替える代わりに、スクラッチファイルとスクラッチバッファーを使用できます。スクラッチ・ファイルare fully functional , runnable, a...