DataGrip 2024.2 最新变化

DataGrip 2024.2 现已发布!

这是 2024 年的第二次重大更新,其中包含各种增强功能。我们来深入解析新功能和改进。

下载

新 UI 成为默认选项

首先,新 UI 现已成为所有用户的默认选项。

JetBrains IDE 的新 UI 于两年前推出,随后我们一直在不断加以完善。我们用心收集反馈,改进了 IDE 的外观,确保循序渐进的平稳过渡。在过去几个版本中,新 UI 的采用率很高,并且我们已经根据反馈解决了主要问题。

我们相信新 UI 已经为所有人做好了准备。从 JetBrains IDE 2024.2 版本开始,新 UI 将成为默认选项。

如果您更喜欢经典 UI,您仍然可以从 JetBrains Marketplace 安装相应插件

AI Assistant 功能

我们一直在为 DataGrip 开发和改进 AI Assistant 插件。在此版本中,我们引入了许多用于数据库的功能。

文本到 SQL

让 AI Assistant 直接在编辑器中生成 SQL 代码。为此,点击编辑器工具栏上的 Generate Code with AI(使用 AI 生成代码)按钮并输入提示。提示示例:“Add queries that will create a books table and populate it with three sample rows”(添加查询创建一个图书表并用三个示例行填充它)。

在 AI Assistant 生成代码后,您可以接受结果、重新生成或点击建议窗格底部的对应按钮来指定提示。您还可以将生成的代码带到 AI 聊天中,向 AI Assistant 询问有关代码的任何问题。

在 AI Assistant 聊天中提及数据库对象和文件

您可以在提示中提及数据库架构,将其附加到 AI Assistant 聊天。为此,使用 # 后跟数据库架构名称输入提示,例如:“Give me the query to get all actor names from #public”(给我一个从 #public 获取所有 actor 名称的查询)。

然后,AI Assistant 将分析您的架构并生成查询。

这项功能对于其他 JetBrains IDE 尤其重要,因为它们没有其他方式来将数据库架构附加到 AI 聊天。

您还可以提及附加的文件夹中的文件,这有助于向 AI Assistant 提供特定脚本作为上下文。

使用意图操作解释和修正 SQL 问题

现在,您可以使用 AI Assistant 更好地理解和修正 SQL 问题。对于严重程度高于 Weak warning(弱警告)的问题,AI Assistant 会提出解释和修正建议。

要获得解释,首先选择高亮显示的代码,按 ⌥⏎/Alt+Enter,依次选择 AI Actions(AI 操作)和 Explain SQL problem under caret(解释文本光标下的 SQL 问题)来调用意图操作。然后,AI Assistant 会在聊天中提供解释。

要修正问题,在 AI Actions(AI 操作)弹出窗口中选择 Fix SQL problem under caret(修正文本光标下的 SQL 问题)。AI Assistant 将使用更正的代码替换您的 SQL 代码。

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

修改表

AI Assistant 现在可以帮助您修改表。在 Modify(修改)对话框中,点击 AI Assistant 按钮调出 AI Assistant 对话框,您可以让 AI Assistant 执行您需要的操作,例如:“Switch all the VARCHAR data types to CHAR”(将所有 VARCHAR 数据类型切换为 CHAR)。

AI Assistant 生成请求的代码后,您就可以在对话框的预览窗格中查看。

处理数据

脚本化加载程序:可自定义导入

您现在可以从表格数据文件导入数据。我们实现了脚本化加载程序,可供导入以下文件格式:

  • Excel
  • JSON
  • Parquet
  • Shapefile

要导入数据,首先将文件从 Files(文件)工具窗口拖动到数据库资源管理器中的架构,然后在 Import(导入)对话框中配置导入设置。

此外,DataGrip 现在可以在数据编辑器中显示表格数据文件的内容。要打开文件,在 Files(文件)工具窗口中点击即可。要禁用此功能,首先转到 Settings | Advanced Settings(设置 | 高级设置),找到 Open file as table if detected by scripted loader(如果脚本化加载程序检测到文件,则将其作为表打开)设置,然后选择 None(无)。

重要提示!加载程序已脚本化,您可以编写和使用自己的自定义加载程序。要添加自定义脚本加载程序,请将它们放在 Scratches and Consoles | Extensions | Database Tools and SQL | data | loaders(临时文件和控制台 | 扩展程序 | 数据库工具和 SQL | 数据 | 加载程序)的特定目录中。

表格数据文件的地理数据查看器

我们的地理位置查看器可让您探索存储在 CSV 和 XLSX 以及其他支持格式的文件中的地理数据。

在浮动工具栏中导航到 Related Rows(相关行)

现在,您可以使用表单元的浮动工具栏更轻松地到达相关行。只需点击单元,然后点击浮动弹出工具栏上的 Related Rows(相关行)图标。

要从浮动工具栏移除此操作,请打开工具栏,点击 More(更多),然后选择 Customize This Toolbar(自定义此工具栏)。在 Customize Grid Floating Toolbar(自定义网格浮动工具栏)对话框中,选择操作,然后点击 Remove(移除)。您可以转到 Settings | Appearance & Behavior | Menus and Toolbars(设置 | 外观与行为 | 菜单和工具栏),选择 Grid Floating Toolbar(网格浮动工具栏),然后点击 Add(添加)来恢复操作。

我们还简化了此操作的流程。此前,在单元的上下文菜单中选择一个操作后,它的行为选项将出现在弹出窗口中。我们现在已将行为选项移动到 Related Rows action behavior (“相关行”操作行为)选择器,后者位于 Settings | Advanced Settings(设置 | 高级设置)中。Navigate And Select First(浏览并选择第一行)选项将选择第一个引用的行并显示表中的所有行。Navigate And Filter All(浏览并筛选所有行)选项将仅显示引用的行。

通过浮动工具栏打开 Web 链接

您现在还可以使用新的浮动工具栏打开 Web 链接。

出于安全原因,此功能默认关闭。您可以通过 Settings/Preferences | Database | Data Editor and Viewer(设置/偏好设置 | 数据库 | 数据编辑器和查看器)中的 URL Click Settings(URL 点击设置)启用此功能。

自动值补全

我们现在决定自动执行值补全(DataGrip 中存在已久的功能)。测试过功能的性能后,我们得出了乐观的结果。请记住,这项功能 100% 本地运行,因此补全变体基于已加载的当前列的其他值。

选择列

此前,选择列中所有值的唯一方式是使用 Expand Selection(扩展选区)快捷键:⌥↑ / Ctrl+W。现在,您可以点击列标题来选择列中的所有值。

对列中的值进行排序的功能仍然可用,但是现在您需要点击相应图标才能对列的值进行排序。

Search Everywhere(随处搜索)弹出窗口

筛选

我们增强了 Search Everywhere(随处搜索)弹出窗口中的 Database (数据库)标签页!您现在可以按数据库对象类型筛选搜索结果。这里有两种方式。

首先,您可以使用右上角的筛选器图标。您可以通过以下对象类型的名称筛选结果:

  • 数据库和架构:数据库、外部数据库、外部架构、架构
  • :表、视图、物化视图、虚拟表、外部表等
  • 脚本:函数、存储的过程、聚合、软件包、分区函数等
  • 类型:别名类型、集合类型、对象类型、表类型

按对象类型筛选搜索结果的另一种方式是使用命令。输入 /,后接对象类型和对象名称。例如,输入 /tables 将产生一个内省数据库表的列表,而输入 /tables film 将查找名称中包含“film”的表。

预览

Search Everywhere(随处搜索)对话框增加了一个选项,用于预览您正在搜索的代码库元素。通过对话框工具栏上的 Preview(预览)图标启用此功能后,预览窗格将出现在搜索结果下方,提供更多上下文并让您更轻松地浏览项目。

更出色的作用域

我们重做了作用域下拉列表,使数据源显示在顶部。

Text(文本)标签页中还新增了 Cached Database Sources(缓存的数据库源)作用域,允许您在数据库函数、视图等的源代码中搜索。

连接性

智能刷新

SQL ServerOracle

每次执行 DDL 语句时,DataGrip 都会自动刷新数据库资源管理器中的架构。这在数据源属性中打开 Auto sync(自动同步)选项时适用。

当数据库包含许多对象时,此过程可能会花费大量时间,例如 Oracle 数据库,其系统目录非常慢。

从 2024.2 版本开始,这种刷新机制将更加高效。DataGrip 现在会分析哪些对象可能被查询修改,并仅刷新特定的对象集。

重要提示!尽管我们已经尽一切努力确保 DataGrip 在大多数情况下都能成功检测到修改的对象,但如果语句间接修改其他对象,DataGrip 可能会错过这些修改,例如删除具有级联选项的对象或修改过程或函数中使用的表时。在这种情况下,您可以调用 Refresh(刷新)操作让 DataGrip 执行完整的数据库刷新。

用于连接启动脚本的 IDE 宏

现在可以在连接启动脚本中使用内置宏。要向脚本添加宏,首先转到 File | Data Sources(文件 | 数据源),选择数据源,打开 Options(选项)标签页。然后,导航到 Startup script(启动脚本),点击 Insert Macros(插入宏)。

例如,如果您需要发起连接的用户的操作系统用户名,则可以在脚本中使用 OSUser 宏:ALTER SESSION SET QUERY_TAG = '$OSUser$'

非 RSA 证书支持

SSL 连接现在支持非 RSA 证书。

对 Iceberg、动态和混合表的支持

Snowflake

Iceberg、动态和混合 Snowflake 表现在可以内省并显示在数据库资源管理器中。

下载