DataGrip 2022.3 最新变化

DataGrip 2022.3 现已发布! 此次重大更新包含多项增强。 让我们看看都有些什么!

通用更新

Redis 支持

我们实现了备受期待的对 Redis 的支持。 您现在可以连接到 Redis Single Instance,在数据查看器中探索键值,借助智能编码辅助编写和执行 Redis 查询等。

以下是快速概览:

  • 连接性:Redis Single Instance。
  • 内省:数据库和键的内省,包括为内省器设置默认键筛选器。
  • 数据库资源管理器:对于 Redis v6.0+,不同类型的键对应不同的文件夹,对于旧版本,一个文件夹包含所有键。
  • 查询执行:JDBC 驱动程序支持大多数查询的执行。
  • 编码辅助:代码高亮显示、关键字补全以及数据库和键的解析。
  • 对象编辑器:重命名和删除键。
  • 数据查看器:筛选和 JSON 高亮显示。

有关详情,请参阅这篇博文

通过设置使用新 UI

今年 5 月,我们宣布了基于 IntelliJ 的 IDE 中新 UI 的封闭预览计划。 DataGrip 也不例外!

对于这第一步,我们的目标是向有限数量的用户提供重做的产品外观。 预览计划帮助我们积累和处理了许多有价值的反馈,现在我们准备邀请大家试用新 UI。

您可以在 Settings/Preferences | Appearance & Behavior | New UI Preview(设置/偏好设置 | 外观与行为 | 新 UI 预览)中切换到新 UI,尝试一下,并与我们分享您的看法。

我们仍在使新 UI 对 DataGrip 更有用。 例如,创建对其他 IDE 至关重要的运行配置可能不是使用亮蓝色按钮的首要操作。 如果您有关于自定义顶部工具栏的想法,请与我们分享。

新的 Settings Sync(设置同步)解决方案

在此版本中,我们为同步 IDE 设置引入了重做的解决方案。 它通过默认捆绑的插件实现。 新的 Settings Sync(设置同步)选项将出现在设置中:

此前,我们有两个独立的设置同步插件:IDE Settings Sync(IDE 设置同步)和 Settings Repository(设置仓库)。

如果您一直在使用 IDE Settings Sync(IDE 设置同步),您的数据将被自动迁移到新插件,您无需采取任何操作。

如果您是 Settings Repository(设置仓库)用户,我们建议您继续使用当前设置,因为迁移仍在进行中。 当功能就绪时,您将收到 IDE 内通知。

设置存储在附于 JetBrains 帐户的云端。 在同一 JetBrains 帐户下使用基于 IntelliJ 的不同 IDE 时,设置将自动同步。

已知问题Settings (设置)中的 Database (数据库)部分目前无法同步。 这一功能将很快在 2022.3 的小更新中提供。

请注意,数据源不是设置的一部分。 如果您想共享数据源,请遵循此教程

虚拟视图

这个新概念也是虚拟的,允许您使用视图而无需在数据库中实际创建。 它基本上只是一个检索结果并存储在 DataGrip 中的查询。

 

虚拟视图在数据库资源管理器中可见,双击即可运行。

请注意,在 SQL 代码中目前无法使用虚拟视图。

图导航

图元素现在可以完全导航。 所有主要导航操作都可以在其中执行:

  • 打开 DDLCtrl/Cmd+B
  • 打开数据F4
  • 在数据库资源管理器中选择Alt/Opt+Shift+B
  • 修改Cmd/Ctrl+F6

数据库资源管理器

快速筛选

又一项备受期待的功能终于推出了! 现在,使用快速搜索时也可以筛选对象。 所有不匹配的对象都将被隐藏。

基于模式的架构筛选

如果您有大量不同的架构,您会喜欢这一增强。 现在,可以根据正则表达式模式选择数据库或架构进行内省。 为此,点击 Add Pattern(添加模式)并在新节点中定义正则表达式模式。 将根据该模式选择数据库/架构。

添加多个模式将组合多样性,而不是创建其交集。

All(所有)节点现在的行为与以前的版本不同:它不会自动选择默认架构。 您现在需要在 All schemas(所有架构)、Default schema(默认架构)或应用正则表达式筛选器之间选择。

全局数据源的颜色

现在,为全局数据源设置颜色时,会与其数据源共享设置。

脚本文件拖放

要针对任何架构运行脚本,现在只需从 Files(文件)工具窗口拖放脚本文件。

数据编辑器

日期和时间数据类型的格式

现在,可以自定义日期和时间类型的字段在数据编辑器中的显示方式。 设置位于 Database | Data Editor and Viewer(数据库 | 数据编辑器和查看器)中。

 

可用于三种类型的字段:
Datetime/timestamp(带或不带时区)、Time(带或不带时区)和 Date

新提取器:WHERE 子句

选定范围的值现在可以作为 WHERE 子句的一部分被提取:

  • 一列中的值使用 OR 运算符组合。
  • 一行中的值使用 AND 运算符组合。
  • 如果仅提取一列的值,它们会被合并到一个 IN 运算符中。

多值 SQL 筛选

选择多个值时,Filter by(筛选依据)操作现在会生成一个条件。

文本搜索字段:使用选区填充

Ctrl/Cmd+F 进行文本搜索时,搜索字段将自动填充光标下的值。 这与文本编辑器的常见逻辑类似。

结构体值正确显示 Big Query

结构体值现在以可读方式显示:每个嵌套值都显示为单独的列。

处理代码

意图操作预览

现在,应用 IDE 的建议后,您可以立即查看查询将如何更改。 打开可用意图操作列表并将鼠标悬停在一个选项上时,会出现预览。
意图操作列表打开时,按 F1/Ctrl+Q 可以禁用预览功能。

单行复制粘贴

如果没有选区,按 Ctrl/Cmd+C 将自动选择并复制文本编辑器中的整行。 它以前如此运作,但现在我们还简化了行的粘贴。 如果没有选区,复制的行将被粘贴为带有回车符的新行,如视频所示:

SQL 架构生成器的新布局:Per Object By Schema and Type

新布局称为 Per Object By Schema and Type。 为整个架构生成 SQL 时,生成的文件将根据对象的类型(表、视图等)放置在文件夹中。

修正

  • DBE-6156Oracle 现已支持 SET ROW
  • DBE-12766SQL Server 现已支持 $PARTITION

处理表

虚拟外键 UI

创建虚拟外键的功能在一段时间前引入。 它们主要用于:

  • JOIN 子句代码补全。
  • 在图中显示虚拟关系。
  • 在数据编辑器中按数据关系导航。

创建它们的主要方式是在查询的 JOIN 子句中使用 Store Relation(存储关系)意图操作。 这有点难以找到,而且整个功能缺乏直观的使用方式。 这是我们所做出的更改。

现在,虚拟外键在数据库资源管理器中可见:

您可以在此处、数据库资源管理器和 Modify Table(修改表)对话框中创建和放置它们。

Quick Documentation(快速文档)中的表大小 MySQL PostgreSQL

表的大小现在显示在 MySQL 和 PostgreSQL 的 Quick Documentation(快速文档)弹出窗口中。 点击 Show table preview(显示表预览)即可查看。

连接性

会话模板的启动脚本

现在,可以为会话模板设置启动脚本。 这意味着每次基于相应模板创建新会话时都会运行该脚本。 例如,它让 DataGrip 运行 use secondary roles all 语句以在 Snowflake 中进行内省。

身份验证选项 MongoDB

我们为 MongoDB 的连接对话框添加了多种身份验证机制。 要使用它们,请将驱动程序更新到 1.16 版。

架构差异查看器

支持对象依赖项

架构差异查看器现在会考虑依赖对象。 最重要的对象是 PostgreSQL 标识列。 如果两个其他方面相同的标识列的相关序列不同,则在比较这两列时将显示此差异。

 

另一个示例是从其他架构调用过程的触发器。 现在,如果例程名称不同,将显示此类触发器之间的差异:

关于架构差异查看器,我们仍要强调两个主要已知限制:

  • DBE-16814:如果例程/视图从其主体引用某个对象,则无法保证正确的脚本顺序。 例如,如果一个例程调用另一个例程,无法保证后者会在第一个例程之前创建。
  • DBE-15598:在某些情况下,对象限定在源对象主体、默认表达式等内部不正确。