DataGrip 2019.1ヘルプ

言語インジェクション

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

文字列リテラル、タグ、または属性内に(HTML、CSS、XML、RegExpなどの)正式な言語の一部がある場合は、その一部を編集するための包括的な言語支援を受けることができます。

一時的に言語を挿入する

  1. 言語を挿入して Alt+Enter を押す(またはインテンションのアクションアイコン Intention action iconを使用する)ストリングリテラル、タグ、または属性の中にカーソルを置きます。

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

    Injecting HTML

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

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

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

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

    sql injected html editor

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

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

    -- language=<language_ID>

    コメントには、インジェクションする言語の構文を使用します。言語IDは一般に直感的です。SQL、RegExp、XML、HTML。

    sql injection comment html

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

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

// language=<language_ID> prefix=<prefix> suffix=<suffix>
sql injection comment html prefixes

XMLとJSONを自動的に挿入する

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

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

sql auto inject xml

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

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

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

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

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

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

sql mydata xml injected

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

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

Language injections settings

ビルトインスコープ用に事前定義されたインジェクションルールがすべて設定されています。言い換えれば、それらはグローバルである(したがって、すべてのDataGripプロジェクトで利用可能)。カスタムルールは、IDEまたは1つのプロジェクトに対してのみ設定できます。カスタムインジェクションの範囲を変更するには、icons toolbarDecorator import svg アイコンを使用します。

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

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

  1. カーソルをコードフラグメントに置き、Alt+Enter を押します(または、インテンションアクションアイコン the Intention action buttonを使用します)。

  2. 言語/参照の注入解除を選択します。

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

最終更新日: 2019年4月3日

関連事項

関連ページ:

プラグインを管理する

プラグインはDataGripのコア機能を拡張します: 例:以下のことができます:バージョン管理システム、アプリケーションサーバー、およびその他のツールとの統合を提供するさまざまな言語とフレームワークのサポートを追加するショートカットヒント、ライブプレビュー、ファイルウォッチャーなどを使用して生産性を...

デリミタで区切られた値の操作

DataGripを使用すると、区切りテキストファイル(CSV、TSV、およびその他の区切り記号で区切られた形式)をテーブルとして編集できます。以下の条件が満たされると、テーブルエディターが使用可能になります。ファイル名拡張子は、テキストファイルタイプに関連付けられています。テーブルエディターを開く区...

DataGrip機能の拡張

Groovy、Clojure、およびJavaScriptでスクリプトを記述することで、DataGripの機能を拡張できます。スクリプト例DataGripディストリビューションには、ファイルツールウィンドウのスクラッチビューを使用してアクセスできるサンプル拡張スクリプトが含まれています。Extensi...

言語インジェクション

言語インジェクションページを利用可能にするには、IntelliLangプラグインを有効にする必要があります。(このプラグインはIDEにバンドルされており、デフォルトで有効になっています。)このページを使用して、データ型パターンおよびその他の言語注入設定を管理します。ユーザー定義のデータ型の言語を挿入...

コードエディター

コードエディター、または単にエディターを使用すると、コードを記述して関連するタスクを実行できます。エディター・タブ各ファイルまたはコンソールはそれぞれのタブで開きます。タブを切り替えるにはAlt+RightとAlt+Leftを使用し、タブを閉じるにはCtrl+F4を使用します。タブを操作するためのそ...