DataGrip 2019.3の新機能

MongoDBのサポート

ついに、MongoDB サポートを提供できる日がやってきました。 400票以上を獲得した結果、基本機能を実装する時期が来たと判断しました。

イントロスペクション

データベースエクスプローラー内でコレクションやフィールドを表示できます。 フィールド情報を取得するため、各コレクションから最初のドキュメント10件を分析します。 この動作はデータソースのプロパティダイアログのAdvancedタブでJDBCのパラメータ fetch_documents_for_metainfo でカスタマイズできます。

クエリコンソール

まだコーディング支援が実装されていませんが、その事によってクエリの実行や結果の取得が妨げられることはありません。 ステートメントを実行するには、その上にキャレットを置いて Ctrl+Enter を押すか、ツールバーの Run ボタンを使用してください。

その他のJetBrains IDE製品でデータベースのサポートを使っている場合、JavaScriptハイライト機能によってクエリがハイライトされます。 DataGripでのハイライトと補完は追って実装されます。

データビューア

任意のコレクションを開き、クエリの結果を確認できます。 カラムで並べ替えたり、値を絞り込んだりすることもできます。 ページングも同様に機能します。

ツリー表示

データをツリーとして調査することもできます。 この機能を有効化するには、Gear icon | View as… | Treeをクリックしてください。

Oracle PL/SQLデバッガ

待望のPL/SQLデバッガの初回バージョンを提供しています。プロシージャ、関数、トリガー、無名ブロックをデバッグし、そのまま変数を監視できるようになりました。

この操作を行うには、デバッグ対象のオブジェクトをコンパイルする必要があります。 コンパイルを行うには、対象オブジェクトのコンテキストメニューで「Database tools | Recompile」を使用します。必ず With “debug” オプション付きで使用してください。

注意:プロシージャがデバッグ用にコンパイル済みである場合、小さな緑色の虫がアイコンに表示されます。

これで内部動作を理解するための準備ができました! ツールバーのDebugボタンを使用しましょう。

デバッガの動作に関する詳細は、ヘルプページをご覧ください。 デバッガについてフィードバックがある場合、こちらの課題に報告をお願いします。

ソースの操作

3ウェイマージ

あなたがソースコードを送信したとき、あなたが編集していたソースが変更されたことをDataGripが確認すると、通知がポップアップ表示されます。 この通知は、3ウェイマージによって競合を解決することを提案します。

また、うっかり古いオブジェクトを送信して他の人の作業内容を削除したくないのなら、Warn if editing outdated DDLオプションを有効にすべきです。

ルーチンの差分ビューア

選択した2つのルーチンでCtrl+Dを押してルーチンを比較すると、DDLも比較されます。

Code prettifier(可読性向上機能)

PostgreSQLでコード可読性向上機能をデフォルトで有効化しました。 これまでは、データベースから提供されるコードには往々にして不要な丸括弧が大量に含まれていました。

新しいオプションを有効にすると、このような外観に変わります。

この機能については、PostgreSQLのドキュメントに記載されています。

この整形された形式はより可読性が高いですが、将来のPostgreSQLバージョンにおいては、(整形されていない)デフォルトの形式のほうが(データベースにより)異なって解釈されるリスクが少ないと言えます。ダンプ目的で整形された出力を使用するのは避けてください。

クエリの実行

インラインクエリの進捗

クエリの実行タイミングを明確に確認できるようになりました。ガターに回転アイコンが追加され、インラインライブタイマーも実装されました。

EXPLAIN PLANのフレームチャート

EXPLAIN PLANの結果用に新しい種類の視覚表現を追加しました。 これを表示するには、左側の対応するボタンをクリックします。 ダイアグラムボタンのちょうど下にあります。

コーディング支援

インスペクション

DataGripは以下の場合に警告を発します。

COALESCE演算子を使用しても効果がない場合。 また、その場合はクイックフィックスを提供します!

NULLを許容しないカラムにNULL値を挿入している場合。

INSERTステートメントに必要なすべてのカラムをリストアップしていない場合。

値がNULLであるかどうかを確認するのに「equals」演算子を使用している場合。 その場合は、IS NULLを使用すべきでしょう。

SQL ServerのサブクエリでORDER BYが使用されていることを検出した場合。

SQL ServerTOPOFFSETを同時に使用している場合。

インテンションアクション

このインテンションは複雑な比較をBETWEEN演算子に変換したり、その逆に変換したりするのに役立ちます。

このインテンションはJOIN ONJOIN USINGに変換したり、その逆に変換したりするのに役立ちます。

テキストエディタ

新しいアクションは選択したコード片で行をアルファベット順に並べ替えるのに役立ちます。 これはCSVファイルで作業する際や、重複する値を見つける際に便利です。

選択範囲内のみを検索できるようになりました。 エディタ内で必要なコード片を選択してCtrl+Fを押すだけです。 ファイル全体に対して検索を実行したい場合は、もう一度ショートカットを押してください。

解決

データベースエクスプローラー内でフィルタを使用した場合、DataGripがデータベースツリービュー内に表示されないオブジェクトを解決しなくなりました。

コード生成

Generateメニューに新しい項目を多数追加しました! これらの項目はAlt+Insで呼び出せます。 ここでは高速検索が機能します。

データエディタ

結果セットに同名のカラムが複数含まれる場合にそこからテーブルを作成しても、カラム名が修飾されるようになり、あいまいな名前に関する問題が発生しなくなりました。

Modify Tableアクションをデータエディタのコンテキストメニューから使用できるようになりました。 テーブルデータを編集しながら新しいカラムを追加したいですか? Ctrl+F6を押すだけで、ほぼ作業が完了します!