テキストエディタ

コードフォーマット

柔軟性の高いユーザー定義のコードスタイルに基づいて、SQLコードを自動的にフォーマットしましょう。 レガシーコードのフォーマットに時間をかけるのはもうやめましょう。Ctrl+Alt+Lのショートカット一発で、DataGripに処理をお任せください!

例えば、設定→ エディタ → コードスタイル → SQLでコードスタイルを調整し、キーワードを大文字で書くかどうかを決められます。

複数のカーソル

多くの場合、複数のカーソルを使用すると最も効率よくSQLのコードを変更できます。 DataGripでこれを行うには、Ctrlを2回押してからそのまま長押しし、矢印キーを使って新しいカーソルを配置してください。 あるいは、Shift+Altを長押ししてクリックしても、同じ操作が行なえます。 また、先に テキスト検索を使用した後、検索テキストフィールドの右側にあるSelect All Occurrencesを 選択し、見つかった一致項目があるすべての場所に複数のカーソルを配置してください。

Live templates(ライブテンプレート)

組み込みのライブテンプレートを使用して、SQLコードの繰り返し部分を生成したり、カスタムテンプレートを作成して生産性を一層向上させたりできます。 Ctrl+Jを押すと、ライブテンプレートがすべて表示されます。

ライブテンプレートにはそれぞれ略語が設定されています。略語を入力してTabを押すだけで、コードブロック全体を貼り付けられます。

例えば、SELECT * FROMWHEREでは、selwを使用できます。

ローカル履歴

各コンソールまたはファイルにはローカル履歴があるため、コードが失われることはありません。 DataGripはソースファイルの変更を追跡し、不慮の紛失や変更から(仮に他のアプリケーションによる変更であっても)保護します。 特定のファイルやディレクトリの履歴はいつでも調べられます。 Diff Viewer で変更内容を比較し、 必要なバージョンに戻せます。

クリップボード履歴からの貼り付け

DataGripではクリップボードの履歴にアクセスし、最近クリップボードにコピーされた項目を素早く貼り付けられます。 DataGripは、アプリケーションの起動後すぐに、クリップボードの履歴にコピーされた項目を記録し始め、終了時に履歴を消去します。 この機能を呼び出すには、Ctrl+Shift+Vを押してください。

スマートなコード選択

Ctrl+Wを押すと、構文を認識した選択を実行できます。 最初は、キャレット下の単語が選択されます。 もう一度押すと、DataGripが編集中のコードを解析し、選択範囲がスマートに拡張されます。 この方法を使うと、特定の句やサブクエリを最速で選択できます。 逆に、Ctrl+Shift+Wを押すと現在の選択範囲が縮小します。

スペルチェック

データエディタでもクエリコンソールでも、あらゆるエディタで、DataGripは単語のスペルをチェックします。緑色の波下線表示で、Alt+Enter入力ミス:以下に変更...を使用すると、辞書に基づいて修正候補が表示されます。 これは、 キャメルケース表記の単語に対しても機能します!

コードブロックの管理

コピー・ペーストを駆使してコードブロックを移動する代わりに、エディタの各機能をご使用ください。

Ctrl+Dを押して行を複製します。

Ctrl+Yで行を削除します。

Ctrl+Shift+矢印キーで行を移動します。

これらのホットキーはすべて、選択したコードブロックの管理にも使えます。

IntelliJベースのテキストエディタでは、ソースコード内を移動するための豊富な機能を提供しています。 以下は、最も重要な機能です。

Ctrl+Alt+Left/Right前後に移動します。

Ctrl+Shift+Backspace最後の編集箇所に移動します。

言語インジェクション

この機能は、文字列リテラルを他の言語(XMLJSON、任意のSQLダイアレクトまたは正規表現など)で書かれたライブコードとして処理し、フォーマット、ハイライト表示、使用箇所の検索、補完、リファクタリングなどを行います。 DataGripが中の文字列の型を認識できた場合は、言語が自動的にリテラルに挿入されます。 例えば、JSONカラムの値を操作する際に、そのように処理されます。
デフォルトでは、JSONXMLの2種類の定義済みインジェクションタイプのみが用意されています。 ただし、Alt+Enterを 押してInject By Typeを選択するだけで、非常に簡単に独自のインジェクションを作成することができます。

Dynamic SQL

特定のブロックコードを編集する際にインジェクションを使用したい場合は、このスクリーンショットのように“language=” を用いてコメントしてください。 言語インジェクションのもう一つの重要な例として、Dynamic SQLの使用が挙げられます。これは、注入されたコードブロックに対してコーディング支援を行います。

コメントの切り替え

コメントを切り替えてコードを管理しましょう。 block(ブロック)またはline-by-line(一行単位)の中から使用したいコメントの種類を選択してください(ご使用のSQLダイアレクトでサポートされている場合)。