DataGrip 2024.3 最新功能

文本到 SQL 编辑器内差异、用于处理 SQL 错误的 AI Assistant 操作、网格 UI 改进等!

AI Assistant 功能

通过 AI Assistant 进行的 SQL 错误处理

我们为通过 AI Assistant 处理 SQL 查询执行错误实现了一些实用操作。 现在,对于每条错误消息,DataGrip 都会在错误消息的最右侧显示两个操作:Explain with AI(使用 AI 解释)和 Fix with AI(使用 AI 修正)。

Explain with AI(使用 AI 解释)会打开 AI 聊天,发送自动提示,并给出 AI Assistant 对错误的解释。

Fix with AI(使用 AI 修正)会在编辑器中为查询执行错误生成修正。

文本到 SQL:生成的结果的编辑器内差异

现在,当您要求 AI Assistant 处理某段代码时,编辑器会包含原始代码和生成的代码的差异。 AI Assistant 的建议以不同的颜色高亮显示,并在装订区域标有 Revert(还原)按钮。

您还可以在差异中自行编辑结果查询。 您的更改将以相同的方式高亮显示。

例如,您可以让 AI Assistant 使用查询检索更多数据,然后将 ORDER BY 子句添加到生成的结果中。

这两个新操作的工作方式与 Fix SQL Problem Under Caret(修正文本光标下的 SQL 问题)和 Explain SQL Problem Under Caret(解释文本光标下的 SQL 问题)意图操作类似。

此功能需要附加数据库架构以建议适当的解释和修正。

处理数据

浮动分页工具栏

为了使数据编辑器中的网格分页更加明显,我们将控件从工具栏移动到数据编辑器的底部中心。

要将此控件移回工具栏,请打开 IDE 设置,转到 Database | Data Editor and Viewer(数据库 | 数据编辑器和查看器),滚动到 Position of the grid pagination control(网格分页控件的位置),然后选择 Data editor toolbar(数据编辑器工具栏)。

更宽的编辑器内结果网格

此前,编辑器内结果网格的宽度有限。 现在,网格会自动调整为编辑器的全宽,让您可以查看更多数据。

非模态 Create(创建)和 Modify(修改)对话框

一段时间以来,用户强烈要求的功能是能够在 Create(创建)和 Modify(修改)对话框中修改对象时与 IDE 界面的其他部分进行交互。 DataGrip 2024.3 引入了非模态对话框行为。 现在,您可以轻松浏览数据库、数据源、文件以及项目的其他部分,而无需中断在对话框中创建或修改对象的工作。

代码编辑器

高亮显示所选文本

默认情况下,DataGrip 现在会自动高亮显示您在文件中选择的文本的所有实例。 这使得跟踪所选文本在整个代码中出现的位置更加简单。

针对 JOIN 子句数量是否过多的检查

在某些情况下,不建议运行包含过多 JOIN 子句的查询,因为这会降低性能。 编辑器现在可以识别并高亮显示此类查询。

您可以在 IDE 设置中启用此检查。 为此,导航到 Editor | Inspections(编辑器 | 检查),展开 SQL 部分,然后选择 Excessive JOIN count(JOIN 计数过多)。

表值函数支持 BigQuery

我们改进了对 BigQuery 表值函数 (TVF) 的支持。 现在,DataGrip 可以正确检测 TVF 及其返回列。

连接性

片段内省和智能刷新 MySQL MariaDB

DataGrip 现在支持片段内省。

此前,内省器只能对 MySQL 或 MariaDB 数据库中的架构执行完整内省,但不能刷新单个对象的元数据。 每次 DDL 语句在控制台中执行并且该执行可能修改数据库架构中的对象时,IDE 都会启动对整个架构的全面内省。 这非常耗时,并且经常会扰乱工作流。

现在,DataGrip 可以分析 DDL 语句,确定哪些对象可能受其影响并仅刷新这些对象。

如果您在数据库资源管理器中选择单个条目并调用 Refresh(刷新)操作,则只有该对象会被刷新,而不是像以前一样整个架构都被刷新。

错误修复

  • DBE-21843:大表的第一行不再消失。
  • DBE-20350Qualify object with: Database(使用数据库限定对象)代码补全功能按预期运作。
  • DBE-21526:数据库对象的上下文菜单中上下文实时模板的可用性不再存在问题。
  • DBE-18445MySQL ST_SRID 函数现已得到支持。
  • DBE-19042MySQL GRANT 语句中的多个角色现已得到支持。
  • DBE-19984MySQL block_encryption_mode 系统变量现已得到支持。
  • DBE-16521MariaDB 查询控制台中对时态表的支持已得到改进。
  • DBE-19041MySQL MariaDB SET ROLESET DEFAULT ROLE 语句现已得到支持。
  • DBE-14986SQL Server 函数调用中的同义词解析按预期运作。
  • DBE-15201SQL Server 函数补全的架构限定按预期运作。
  • DBE-21204SQL Server CURSOR 声明中的 OPTION 关键字现已得到支持。
  • DBE-3771OracleUSING 中限定列的检查现已添加。
  • DBE-3772OracleNATURAL JOIN 中限定列的检查现已添加。
  • DBE-5657: Oracle PARTITION 子句的自动补全按预期运作。
  • DBE-10459Oracle BEGIN 的自动补全现已得到支持。
  • DBE-17022Oracle ON COMMIT PRESERVE DEFINITION 现已得到支持。
  • DBE-21014Oracle 软件包头中声明的 CURSOR 的解析按预期运作。
  • DBE-20309Oracle 对照函数调用的列解析按预期运作。
  • DBE-21006Oracle 对照记录类型的列解析按预期运作。