DataGrip 2019.1の新機能

新しいDBMSのサポート

このリリースサイクルでは、複数の新しいデータベースをサポートすることにフォーカスしました。
Greenplum は PostgreSQL に基づいた分析データベースです。現在、Pivotalとオープンソースコミュニティによって開発されています。
Vertica は大量のデータを処理するために設計された列指向のストレージです。
Apache Hive はデータの問い合わせと分析を行うために Apache Hadoop の上に構築されたデータウェアハウスです。
Snowflake はクラウドベースのデータウェアハウスです。 2019.1では、DataGrip は SQL ダイアレクトのみをサポートします。イントロスペクションのサポートは後で行われます。

接続ダイアログ

Generalタブ

接続プロセスがよりユーザーフレンドリーになるようフィールドを再デザインしました。
Connection type はURLタイプに何が使われているかのフィールドです。これはこのダイアログのUI全体を決定します。Driverの選択肢と一緒にトップ付近にある理由はそのためです。
認証情報はデータベースリストに必要になることがあるため、Database フィールドは認証情報の後になります。このリストは ⌘+Space によって実行されます。

パスワードの保存はドロップダウンで実装されています。4つのオプションがあり、Never, Until restart, For session, Forever です。For Session はデータソースから切断するまでの間だけパスワードを保存するオプションです。

また、空のパスワードをUIを通じて設定できます。この場合はコンテキストメニューを使ってください。

Test connection の結果はインラインで表示されるようになり、小さな専用ボタンでクリップボードにコピーできるようになりました。トラブルシューティングページ へのリンクも追加されました。
2019.1よりTest Connection ボタンはダウンロードドライバがなくても無効化されなくなりました。Test Connection をクリックした際、DataGrip が JDBC ドライバのダウンロードを提案します。

Options タブ

Read-only, Auto-Sync, Transaction control 設定は General タブから、Options タブに移動してきました。

新しく導入された設定:
– N秒ごとにRun keep-alive query は接続状態をキープするのに役立ちます。未サポートのデータベースのためのドライバ設定でカスタムクエリを定義できます。
– N秒後に Auto-disconnect は一目瞭然の設定です
Startup script は接続を確立するたびに実行されるSQLクエリです。”Single connection mode” が無効な場合は、それぞれの新しいコンソールは新しい接続を生成しますので覚えておいてください。

名前変更した設定:
Warn if editing an outdated DDL は以前は”Notify when the outdated object is opened” として使われていた機能の新しい名前です。

Schemas タブ

Object filter は、Options タブからSchemasタブに移動してきました。

データソースリスト

小さな強化: DDL data sources は、コネクションダイアログ内のデータソースリストにおいて、そのグループを持てるようになりました。

検索とナビゲーション

最近のロケーション

“Recently changed files” を呼び出すのに⌘+Shift+Eを使っていた場合は、代わりにダブル⌘Eを使ってください。

パスの検索

DataGripはオブジェクトのソースコード内も検索できます。スコープに All Place を選んでいる場合にのみ利用できます。このUIを少しクリーンナップし、Moduleタブと Project タブは削除しました。
新しいスコープ “Attached Directories”が利用可能になっています。ファイルツールウインドウ内でファイルを探している場合は、ぜひ使ってみてください。

Go-to ポップアップ

すべてのナビゲーションアクションがここから動作するようになりました。
例えば、テーブルを検索している場合、開けるのは以下になります。

Table’s DDL: ⌘B
Table’s data: F4 (テーブルではEnter も同じです)
Modify Table ダイアログ: ⌘F6
Locate in… ポップアップ: Opt+F1 (データベースツリービュー内でオブジェクトを参照するのに利用します)
Quick doc ポップアップ: F1
SQL generator: ⌘+Opt+G

オブジェクトに関連するアクションはもっとたくさんご確認いただけます。

また、Database | General の Navigation 設定も忘れないでください。DataGripが可能性のあるユースケースをおそらくすべてカバーしているように、遠慮なく自身のフローを作成してください。

コード支援入力

コンプリーションでの組み合わせアイテム

CREATE と DROP 文のコンプリーションリストにいくつかの組み合わせのオプションを追加しました。例えば、CREATEと入力し始めるとCREATE TABLE を選択できます。
これのもう一つのメリットはショートカット(“creta”を”CREATE TABLE”に展開するなど)が使えることです!

新しいインスペクション

“Usages of GOTO statements” と “Named arguments should be used” のインスペクションは、一部の開発者のみがこれらを報告したいので、デフォルトでオフになっています。

Usages of GOTO statements インスペクションには3つのオプションがあります。:
– すべてのGOTO 文をレポート
– ループを抜けるためにGOTO文の利用をレポート
– 後方のGOTO ステートメントをレポート

Named arguments should be used、は開発者の好みの分かれるところですが、名前付き引数を使うことでコードが読みやすくなります。

DataGripは、プロシージャまたは関数の内部で利用しているカーソルがオープンされていない場合も警告します。

ファイルでの作業

Settings/Preferences | Appearance & Behavior | System Settings 設定で、Default Directory のオプションが表示されるようになりました。新しいプロジェクトがデフォルトでどこに作成されるかを定義できます。

Save as…コンソールファイルのためのアクション。

1.プロジェクトディレクトリを 提示
2.最後に選択したフォルダを保持

新しいアクションであるDetach directoryがファイルツールウインドウでフォルダに対して利用可能になりました。コンテキストメニューから利用、またはショートカットキーをアサインできます。

ファイルをオープンすることなしにコンテキストメニューからファイルをフォーマットできるようになりました。

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

IBM DB2のためのデータベースイントロスペクションを改善しました。データベースツリーの以下の新しいオブジェクトを参照できます。
トリガー、メソッド、モジュール、データタイプ、変数、条件、チェック制約、ロール、グローバルテンポラリテーブル。

ツリーは自身でコンテキストを保存できるようになりました。このため、データソース名を上部でいつでも参照できます。

まだサポートしていないいくつかのデータベースのアイコンを追加しました。以前は、未サポートのデータベースに関する多くのデータソースがある場合、データベースツールウィンドウが散らかっていたかもしれません。それがよりよくなればと願っています。

残りのすべてに対して新しいカスタムアイコンを使えるようになりました。ドライバ設定のオプションタブにおいてアイコンを選んでください。

その他

カスタマイズ可能なテーマ

このリリースでは、スクラッチから自身のテーマをデザインすることができるよう、IDEの見た目をフルでカスタマイズする機能を追加しました。すぐに始められるようにいくつかの新しいテーマも作成しました。それらはプラグインとしてダウンロードできます。
文字通りすべての色を変更できます。DevKitを使ってテーマプラグインを作成し、JSONファイルを通じてIDEの見た目を変更できます。以下は役に立つリンクです。
カスタムテーマを作成するための詳細なチュートリアル
IntelliJ プラットフォームでカスタムテーマ作成に関するブログ

シアンテーマ

ダークパープルテーマ

データエディタ

フィルターは以前よりも良くなり、クリップボードから値を利用できるようになりました。

「mysql」の画像検索結果Definer サポート

MySQL と MariaDBのDEFINER 属性に関するサポートを追加しました。
まず、コード生成のためにSQL GeneratorがDEFINER 属性を追加すべきかどうかを選択します。

次に、移行中は DEFINER 属性を無視することができます。

バグフィックス

    • Schemas not chosen for introspection are not used in comparison now. DBE-7604
  • Schema qualifier is no longer missed when creating the foreign key. DBE-4993
  • Foreign key’s referenced column is no longer omitted in the Modify Table dialog. DBE-7560
  • Fixed false positives while detecting unreachable code detection. DBE-7554
  • [MySQL] We’ve finally fixed the problem with NULL instead of the empty date for all connectors. DBE-69
  • [MariaDB] Fixed error during introspection. DBE-7743
  • [SQL Server] No more wrong COUNT() results. The driver problem isn’t fixed yet, so we’ve made changes on our side. DBE-2114
  • [SQL Server] Tables were duplicated sometimes. No more. DBE-7297
  • [Oracle] The Enable DBMS_OUTPUT button is back. DBE-4702
  • [Oracle] Fixed the problem with temporary segments in. DBE-7443
  • [Oracle] The source code of packages and functions is introspected properly. DBE-6768