DataGrip 2019.3ヘルプ

言語インジェクション

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

一時的に言語を挿入する

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

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

    Injecting HTML

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

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

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

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

    Open a code fragment in the dedicated editor section

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

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

    -- 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

XMLとJSONを自動的にインジェクションする

XMLおよびJSONタイプとして定義されている値の場合、対応する言語が自動的に挿入されます。

言語を自動的に挿入するには、式で型を宣言します(XMLやJSONなど)。

Inject XML and JSON automatically

ユーザー定義データ型の言語を挿入する

ユーザー定義データ型のパターンを作成し、それらのパターンを言語と関連付けることができます。パターンに一致するデータ型の場合、DataGripは指定された言語を自動的にインジェクションします。

  1. カスタムデータ型(たとえば、MY_CUSTOM_DATA_TYPE)を宣言します。

  2. 引用符で値をクリックし、Alt+Enterを押します。

  3. 型で注入するを選択し、インジェクションする言語を選択します(たとえば、XML (XML ファイル))。

  4. タイプパターンフィールドに、カスタムデータ型に使用するパターンの正規表現を入力します(たとえば、(?i).* 正規表現を使用します)。

Inject a language for user-defined data types

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

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

  2. 言語や参考文献をインジェクションしないを選択します。

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

インジェクションルールを設定する

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

Language injections settings

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

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

最終更新日: 2019年12月9日