DataGrip 2020.2 の新機能

データエディタ

セルの値を独立したエディターで操作

セルの値を独立したエディターで操作

セル内に巨大な値がある場合に、それを独立したパネルで表示または編集できるようになりました。 また、右側のツールバーを使用してソフトラップモードを切り替えられるようになりました。 コードエディターのすべての機能をデータの確認や編集に活用してください!

データエディターの DML プレビュー

データエディターの DML プレビュー

このバージョン以降、変更を表すクエリをデータエディター内でレビューできるようになりました。 保留中の変更がある場合には DML ボタンが有効になります。

データエディターの DML プレビュー

さらに、DML プレビューのダイアログが表示されます。 DataGrip は JDBC ドライバーを使用してテーブルを更新するため、このクエリはデータ変更用の正確な SQL ではありませんが、ほとんどの場合は同じものになります。

ブール値用の新しい UI

ブール値用の新しい UI

これは大いに歓迎すべき成果です! ブール値をより便利に表示および編集できる手段が追加されました。 true 値が箇条書きでマークされ、他のすべての値と区別できるようになりました。

編集:

  • スペースキーを押すと、以前と同じように値が切り替わります。
  • ftdngc のいずれかを入力すると、対応する値(falsetruedefaultnullgeneratedcomputed)が入力されます。 これらの値がすべて異なる文字で始まっていたのがラッキーでした!
  • 上記以外の文字を入力すると、すべての候補値を含むドロップダウンが開きます。
トリミングされたデータ用の新しい UI

トリミングされたデータ用の新しい UI

DataGrip は指定されたセルのデータをすべて読み込めない場合があります。 これは、セル内のデータサイズが Database | Data views | Max LOB length 設定で許可された値を超えている場合に発生します。 このような場合、これまでは “10 KB of 50 KB loaded” のような小さなテキスト片を値に追加していました。 今後は値自体を変更せず、ヒントを表示のみ行います。

データエディターのコンテキストメニューからクリップボードにエクスポート

データエディターのコンテキストメニューからクリップボードにエクスポート

データエクスポート用のダイアログウィンドウを導入したあと、全体の結果またはテーブルをクリップボードにエクスポートする操作が複雑になってしまいました。 そのため、次の項目をコンテキストメニューに追加しました。

Copy は選択範囲をコピーしますが、Export to Clipboard はデータセット全体をコピーします。

MongoDB の絞り込みを改善

MongoDB の絞り込みを改善

ObjectIdISODate に加えて、UUIDNumberDecimalNumberLongBinData でも絞り込めるようになりました。 また、クリップボードに有効な UUID/ObjectId/ISODate がある場合、この値が推奨されるフィルターに表示されます。

MongoDB の絞り込みを改善

また、MongoDB では LIKE で絞り込めないため、正規表現による絞り込みを追加しました。

SQL エディタ

新しいインスペクションウィジェット

新しいインスペクションウィジェット

新しいインスペクションウィジェットでは簡単にスクリプト内の問題箇所をすべて表示し、それらの間を移動できます。 また、現在ファイルの警告、エラー、その他の問題の数に関する詳細情報が表示されます。 矢印アイコンを使用してファイル内のエラー間を移動できます。また、当然ながらこれまでにように F2 ショートカットを使用してエラー間を移動することもできます。

その場で名前変更

名前変更の提案

コード内のオブジェクト名を変更する際、このツールバーの小さなボタンを使ってリファクタリングを実行できます! 例えば、エイリアスの場合は次のように動作します。

さらなる JOIN 補完の改善

さらなる JOIN 補完の改善

JOIN 句を補完する手順が 1 つ少なくなりました。‘JOIN’ を入力すると、次のように句全体が提供されるようになりました。

さらなる JOIN 補完の改善

また、補完では可能な場合に 2 つのカラムで結合する手段も提供されています。

Refresh database クイックフィックス

Refresh database クイックフィックス

スクリプト内には未解決のオブジェクトが存在する場合があります。 その場合、DataGrip はこれらのオブジェクトの場所を認識できず、全く存在していないものと判断します。 これは多くの場合に当てはまりますが、作業中のコンテキストを微調整する必要があるためにオブジェクトが未解決になっていることがあります。

Refresh database(データベースの更新)クイックフィックスを追加しました。このクイックフィックスは、データベースを最後に読み込んだ後に別の場所からデータベースにオブジェクトが追加された場合に役に立ちます。

変数の導入

変数の導入

このリファクタリングのサポート対象言語に、SQL ServerDb2ExasolHSQLRedshiftSybase が追加されました。 単純な型を持つ式から変数を導入できます。

Google BigQuery 言語

Google BigQuery 言語

新しい SQL 言語、Google BigQuery を追加しました。 BigQuery はまだ完全にサポートされていませんが、部分的なサポートから開始します。 現在のところ、DataGrip はGoogle BigQuery を使用している場合にクエリを正確にハイライトし、コーディング支援機能の提供を開始しました。

TextMate バンドル

TextMate バンドル

Mac 用のテキストエディターである TextMate は、多くの言語に対応した構文ハイライトバンドルを提供しています。 これらを DataGrip にインポートして使用できます。 このリリース以降、IDE はバンドルに登録されているファイルタイプに対応した構文ハイライトを提供します。

PythonJavaScriptShell およびその他のファイルタイプの構文がデフォルトでハイライトされるようになります。 該当するファイルタイプをすべて確認するには、Settings/Preferences | Editor | TextMate bundles を開いてください。

Generic 言語用の SQL 2016

Generic 言語用の SQL 2016

Generic 言語でハイライトされているファイルとコンソールが、SQL 2016 でハイライトされるようになりました。 これまでは SQL 92 が使用されていました。 この変更による主な改善点は、コードを選択せずに共通のテーブル式を実行できるようになったことです。

SQL フォーマッターでオブジェクト名を元の大文字/小文字の種別に従わせる

SQL フォーマッターでオブジェクト名を元の大文字/小文字の種別に従わせる

これまで、SQL フォーマッターでコード内のオブジェクト名を変更する場合に選択できるオプションは 3 つ(大文字に変更小文字に変更変更しない)でした。 しかし、それだけでは不十分であることが判明しました。宣言内で使用されていた大文字/小文字の種別に従ってオブジェクト名を変更する必要がある人もいるからです。 今回はそのためのオプションを提供しています。

SQL フォーマッターでオブジェクト名を元の大文字/小文字の種別に従わせる

例えば、テーブル Actor が最初の文字に大文字を指定して宣言されていた場合、フォーマッターはこれを変更しません。

ヒント:宣言が別の SQL ファイルにある場合は、フォーマッターが適切な大文字/小文字の種別を使用できるよう、SQL ファイルに基づいて DDL データソースを作成してください。

選択範囲の各行に複数のキャレットを配置

選択範囲の各行に複数のキャレットを配置

この新しいアクションを使うと、複数のキャレットを便利に配置することができます! コードを選択し、Find Action か専用のショートカット(Shift+Alt+G)を使用して複数のキャレットを呼び出せます。

データベースツリービュー

すべてのデータベースとスキーマをデータベースツリーに表示

すべてのデータベースとスキーマをデータベースツリーに表示

DataGrip は表示対象に選択したデータベースとスキーマのみを表示します。 これは多くのデータベースとスキーマがある場合に便利ですが、イントロスペクションが必要なスキーマも定義します。DataGrip はデータベースからメタデータを読み込み、それを後から利用するためです。

しかし、アクセス可能なすべてのデータベースとスキーマを常に表示するツールに慣れているユーザーもいます。 このようなユーザーは、再読み込み後に外部で追加されたスキーマがデータベースエクスプローラーに表示されることも好みます。

このため、データベースエクスプローラーに Show All Namespaces という新しいオプションを追加しました。 このモードでは、イントロスペクションが実行されていないデータベースとスキーマはグレー表示になります。

ビュー作成用の UI

ビュー作成用の UI

ビューを作成する必要がある場合は常に Generate 機能(SQL エディターで Alt+Ins を入力)を使用することを推奨してきましたが、多くのユーザーは UI を使用するほうが便利だと感じています。 皆様の意見をもとに、この操作を行うための UI オプションを追加しました。

基本的な Oracle DB リンクのサポート

Oracle DB リンクの基本的なサポート

Oracle DB リンクがデータベースエクスプローラーに表示され、それを使用しているコードが正しくハイライトされるようになりました。

一般

タブが長くなる問題を解決しました!

タブが長くなる問題を解消しました!

2020.2 では、タブが長くなるというユーザビリティの問題に悩まされることはありません。

この問題は次のように解決しています。

  • Database | General | Always show qualified names for database objects オプションがデフォルトでオフになりました。 同名の 2 つのオブジェクトが開いている場合のみ、オブジェクトがタブ名で修飾されます。 例えば、スキーマが異なる 2 つの actor テーブルを開いている場合、そのスキーマ名がタブ名に表示されます。 それ以外の場合は表示されません。
  • データソース名の長さが 20 文字を超える場合は切り詰められます。
  • データソースが 1 つしかない場合、DataGrip はタブ名にそれを表示しません。
  • 修飾されたオブジェクト名の長さが 36 文字を超える場合は切り詰められます。
ドライバー設定のネイティブライブラリ

ドライバー設定のネイティブライブラリ

ドライバーのネイティブライブラリへのパスを指定できるようになりました。 これは、次のようないくつかの状況で役に立ちます。

  • SQL Server では、ドライバーを手動セットアップしている場合に SSO 認証用の mssql-jdbc_auth-‹バージョン›-‹アーキテクチャ›.dll を指定できます。 デフォルトで、SSO 認証は初期状態で機能します。
  • Oracle データベースでは、OCI ドライバーを使用するための ocijdbc ライブラリを指定できます。
  • SQLite では、実行時に読み込み可能な拡張機能を指定し、それらをクエリコンソールから使いやすくすることができます。 フルパスを指定する必要はありません。
*.js ファイル用の実行構成

*.js ファイル用の実行構成

MongoDB スクリプトがある場合、スクリプトから Run(実行)構成を作成できます。

Git および GitHub プラグインのバンドル

Git および GitHub プラグインのバンドル

最後になりますが、Git および Github プラグインが DataGrip ですぐに使えるようになったため、これらのプラグインをプラグインリポジトリからインストールする必要がなくなりました。