DataGrip 2024.1 ヘルプ

言語インジェクション

言語インジェクションを使用すると、コードに埋め込まれた他の言語のコード部分を操作できます。文字列リテラルに言語 (HTML、CSS、XML、RegExp など) を挿入すると、プロジェクトのメイン言語でなくても、挿入されたコードに対して包括的なコーディング支援を受けることができます。

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

デフォルトでは、IDE は一時的に言語を挿入します。これは、埋め込まれた要素を削除すると、インジェクションも失われることを意味します。

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

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

    Injecting HTML

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

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

    -- language=<language_ID>
    Use language injection comments

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

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

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

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

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

インジェクションエディターを開く

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

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

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

    Open a code fragment in the dedicated editor section

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. 言語または参照の挿入解除を選択します。

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

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

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

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

    2. インテンションバルブを表示するチェックボックスをクリアします。

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

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

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

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

    Language injections settings

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

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

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

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

    関連ページ:

    プラグイン

    プラグインは DataGrip のコア機能を拡張します。例: プラグインをインストールして、次の機能を取得します。バージョン管理システム、課題追跡システム、ビルド管理サーバー、その他のツールとの統合。さまざまな言語とフレームワークのコーディング支援サポート。ショートカットのヒント、ライブプレビュー、ファイルウォッチャーなど。次のビデオは、プラグインサブシステムの概要を示しています。プラグイン設定を開くを押して設定を開き、を選択します。マーケットプレースタブを使用して、JetBrains マーケッ...

    コードの再フォーマットと再配置

    DataGrip を使用すると、現在のコードスタイルスキームまたは .editorconfig ファイルで指定した要件に従ってコードを再フォーマットできます。で定義されていないものがあれば、プロジェクト設定から取得されます。コードの一部、ファイル全体、ファイルのグループ、ディレクトリ、モジュールを再フォーマットできます。コードの一部または一部のファイルを再フォーマットから除外することもできます。コードフラグメントを再フォーマットするエディターで、再フォーマットしたいコードフラグメントを選択します。再...

    ファイルテンプレート

    ファイルテンプレートは、プロジェクトツリーのコンテキストメニューのメニューまたは新規セクションを使用して作成する新しいファイルの既定の内容の仕様です。作成するファイルの種類に応じて、テンプレートは、その種類のすべてのファイルに期待される初期コードとフォーマットを提供します (業界または言語の標準、企業ポリシー、その他の理由に従って)。DataGrip は、新しいファイルを作成するときに提案される、サポートされているすべてのファイルタイプの定義済みテンプレートを提供します。ファイルテンプレートの管...