DataGrip 2019.2的新增功能

服务工具窗口

现在,我们所有的IDE都有一个名为Services的新工具窗口。在DataGrip中,您可以观察和管理那里的所有连接。

每个连接在对应的数据源下都有自己的节点。如果图标上的绿色小灯点亮,则表明连接已接通。您可以使用上下文菜单轻松关闭连接。

您可以将所有服务类型视为节点,也可以更改视图以将其视为选项卡。使用工具栏上的“在新选项卡中显示”操作,或只需将所需的节点拖到“ 服务”工具窗口的标题栏中。

现在,查询结果将附加到特定控制台的“ 服务”视图中的特定连接下。

重要! 服务工具窗口的默认快捷方式是Alt + 8

隐藏树

如果您不想看到“ 服务”树 (也就是说,您想回到以前的样子),请单击齿轮图标并将其隐藏。

查询实时计时器

服务工具窗口还为您提供了另一个所需功能: 查询实时计时器 。对于运行查询的任何连接,请查看其右侧以查看花费了多少时间。

码头工人

如果您使用Docker插件,则相应的服务也将出现在此工具窗口中。

全文搜索

现在,即使您不知道数据的位置,也可以搜索数据。为此,选择要搜索的数据源,数据源组甚至单独的表,然后从上下文菜单中调用全文本搜索 。当然,还有一个快捷方式: Ctrl + Alt + Shift + F。

您将看到一个对话框,用于输入字符串。您将看到要搜索的数据源列表,并且可以设置一些搜索选项。

此外,您可以看到DataGrip将运行哪些特定语句来执行数据搜索。

运行搜索后,您将看到可以打开的结果。

单击结果以打开数据编辑器。过滤器将被预定义,以便仅向您提供找到数据的那些字符串。如果由于列太多而无法找到数据,请在数据编辑器中使用Ctrl + F进行文本搜索。

  • 在某些数据库中,您可以选择仅在索引的列中搜索。要使用此模式,请在“ 搜索范围”下拉菜单中选择“ 仅具有全文搜索索引的列”

    PostgreSQL中 ,查询将是: where col @@ plainto_tsquery('text')

    MySQLMariaDB中 ,查询将是: where match(col) against ('text' in natural language mode)

    Oracle中 ,使用以下索引(如果存在): context,ctxrule,ctxcat

    SQL Server中 ,如果存在具有全文索引的列,则DataGrip会使用WHERE CONTAINS(col, N'text')生成查询。

    SQLite中 ,DataGrip生成带有where col MATCH 'text' MATCH'text where col MATCH 'text'查询。

  • 如果选择“ 所有列”模式,则搜索将查找不支持LIKE运算符的列,例如JSON类型的列。这些列中的值会预先转换为字符串。
  • Cassandra中 ,DataGrip为一个表创建多个查询,因为数据库不支持OR条件。

资料编辑器

页面大小易于更改

现在,要定义要从数据库中检索的行数,可以从结果集的工具栏中进行操作。

结果选项卡可以命名

结果的另一个超酷改进:标签命名!只需在查询前使用注释即可。

如果仅希望某些注释成为选项卡名称,请使用设置中的将文本视为标题后的字段来指定前缀词。然后,仅该单词之后的单词将用作标题。

数据库树视图

快速表备份

可以通过拖放来复制表,但是在复制到同一模式时不起作用。实际上,如果您需要在进行任何关键的数据操作之前创建表的快速备份,这将非常方便。因此,我们现在使它起作用了!

快速组创建

现在,拖放还可以在数据库浏览器中创建组。
要创建一个新组,只需将一个数据源拖到另一个上即可。
要将数据源放入现有组,请将其拖放到该组中。

实时连接

从版本2019.2开始,绿色的小灯表示是否与数据源存在实时连接。

强制刷新

有一个新操作可用于数据源或架构,称为Force Refresh 。它清除DataGrip缓存的数据源信息,并从头开始刷新它。

在搜索和导航中按数据源过滤

在“ 转到”弹出窗口中定位对象时,列表中有时会出现许多类似的对象。当您有许多镜像(例如生产,登台,测试等)时,通常会发生这种情况。

在DataGrip 2019.2中,您可以选择搜索位置:在特定数据源中还是在一组中。

Find In Path的工作原理相同, 其他对象的DDL中搜索源代码时,此功能非常有用。

编码协助

系统目录中的对象

几乎每个数据库中都有一个系统目录-关系数据库管理系统在其中存储架构元数据的地方,例如有关表和列的信息,内置函数等。

需要这些目录中的对象来提供编码帮助。最好在代码完成时包含它们,并且使用它们的代码不应为红色。

以前,在编码帮助中拥有系统目录的唯一方法是将它们添加到数据库浏览器。DataGrip实际上从数据库中检索了有关它们的信息(顺便说一句,总是一样!),这需要时间。而且,它们在数据库浏览器中是可见的,并非总是必需的。

这种模式在模式选择器中带有一个闪电图标。现在,如果您不检查它们,DataGrip将不会进行内部检查和显示,但是会在编码帮助中使用有关其对象的信息。为了实现这一点,DataGrip使用其有关每个数据库的系统目录的内部数据。

几个数据库的系统目录的一些示例:

PostgreSQLpg_catalog,information_schema

SQL ServerINFORMATION_SCHEMA

甲骨文SYS,SYSTEM

MySQL的information_schema

DB2SYSCAT,SYSFUN,SYSIBM,SYSIBMADM,SYSPROC,SYSPUBLIC,SYSSTAT,SYSTOOLS

意向动作和快速修复

首先,我们已将快速修复程序集成到检查工具提示中。如果DataGrip知道如何解决该问题,则只需将鼠标悬停在警告上就可以知道。要解决此问题,只需单击工具提示左下角的链接,或按Alt + Shift + Enter

Alt + Enter仍可用于获取所有可能的快速修复列表。

我们还引入了一些新的检查。

不必要的使用情况

使用CASE构造时,DataGrip会分析它们是否可以转换为可读性更高的构造。

IF

COALESCE

GROUP BY到DISTINCT的转换

我们又添加了一个意图操作:现在,如果SELECT子句的所有列都在GROUP BY子句中出现,则可以将GROUP BY转换为DISTINCT

字符串可能被截断

在为变量分配值时,IDE会检测字符串的长度,并警告您是否将其截断。

SQL编辑器

新选项可控制将插入符号移动到下一单词的行为

将插入符号移动到下一个单词”操作的默认行为已更改:DataGrip会将插入符号移动到当前单词的末尾。

要更改插入符号移动动作的行为,请转至“首选项/设置” |“设置”。编辑器一般

人们通常通过在WindowsLinux上按Ctrl + ArrowsMac上按Opt + Arrows来执行此操作。在不同的操作系统上,它具有不同的默认行为。在Datagrip中,我们已将Windows的行为更改为Mac的行为。

这是以前的样子:

现在是这样的:

选择当前语句

现在可以使用新操作“选择当前语句”。您可以从“查找操作” Ctrl + Shift + A转到它,或者为其分配一个快捷方式。

大数折

如果要提高大数字的可读性,请使用快捷键Ctrl + Minus折叠它们。

其他

  • DataGrip 2019.2在默认情况下在JetBrains Runtime 11运行JetBrains Runtime 11是未经认证的OpenJDK 11分支。
  • 如果要在树形视图中查看表的注释,请转到“ 视图” |“视图”。出现并切换“ 树形视图中描述”选项。
  • [ Cassandra ]现在可以编辑以下类型的列: set,list,map,tuple,udt,inet,uuid和timeuuid
  • 现在,新的合并项目包括在代码完成中: IS NULLIS NOT NULL
  • 默认情况下,选项“ 跳到带制表符的右方括号/引号 ”选项处于启用状态。
  • 默认情况下,启用带引号或大括号的选项包围选项。
  • 介绍别名已添加到重构菜单中。
  • DataGrip可与PostgreSQL 12DBE-8384一起使用
  • 只读模式下工作时存在一些不一致:如果要从只读模式运行更新查询,则IDE仅关闭IDE级别的模式,而不关闭JDBC的DBE-8145模式 。现在,我们同时关闭这两个功能,因此您可以在确实需要时运行查询。
30天免费试用