MS SQL Server 和 PostgreSQL 的按级别内省、为 AI 聊天上下文附加数据库对象的功能、可编辑的 SELECT 查询结果等。
要使用本节所述功能,您可能需要安装 AI Assistant 插件。安装插件后,这些功能将在 IDE 中默认启用。
您向 AI 聊天提供的数据库上下文现在可以更加具体。以前,只有整个架构可被附加。现在,您可以附加需要使用的数据库对象,例如表或视图。这在使用较大的架构时尤其有用。
要附加数据库对象,在输入字段中输入 @ 或 #,选择或输入 dbObject:,然后从列表中选择要附加的对象。
DataGrip 现已支持基于云的代码补全。它使用云资源提供更精确的代码补全,发挥比本地资源更强大的计算能力。这项功能让 IDE 可以根据可用上下文实时自动补全单行、代码块,甚至整个脚本。生成的 SQL 与您编写语句的方式类似,符合您的样式和命名约定。
借助基于云的代码补全,DataGrip 会在您输入时在编辑器中显示建议,您也可以按 Alt+Shift+\ 调用。要禁用此功能,请转到 Settings | Editor | General | Inline Completion(设置 | 编辑器 | 常规 | 内联补全),然后取消选中 Enable cloud completion suggestions(启用云补全建议)复选框。
我们正在将按级别内省的实现扩展到更多数据库 – 这次是 PostgreSQL 和 Microsoft SQL Server! DataGrip 现在会根据数据库大小自动调整为这些数据库加载的元数据量。这意味着对于较大的数据库,您不必等到所有元数据加载完毕再开始使用。
DataGrip 现已支持 PostgreSQL 数据库的智能刷新机制。以前,每次执行 DDL 语句时,IDE 都会自动刷新数据库资源管理器中的整个架构。实现智能刷新机制后,DataGrip 将分析哪些对象可能会被查询修改,并仅刷新这一组对象。
这意味着如果数据库包含许多对象,您不必在每次运行 DDL 语句时等待很长时间来刷新整个架构。由于只同步特定一组对象,与刷新每个对象相比,您可以更快恢复工作,并且数据库资源管理器仍然拥有您需要的一切。
经过长久等待,DataGrip 现在终于支持 SQLite 数据库文件的 WSL 文件路径。我们已经实现了一个解决方案来解决我们 WSL 中的写入锁定问题。
这意味着现在您可以在 WSL 中访问并使用 SQLite 数据库,数据库文件不会被锁定。为此,转到 Data Sources and Drivers(数据源和驱动程序)对话框并使用以下文件路径格式:\\wsl$\<os>\home\<username>\<database_file_name>.sqlite。例如,\\wsl.localhost\Ubuntu-24.04\home\alexey\identifier.sqlite。
现在,您可以配置将读取操作路由到 MongoDB 副本集成员的方式,甚至可以定义应该使用哪个副本集。为此,在配置与 MongoDB 数据库的连接时,转到 More Options(更多选项)并在 Data Sources and Drivers(数据源和驱动程序)对话框中启用对应选项。从列表中选择后,会出现一个新字段,您可以在其中指定设置。要指定想要的读取偏好,在 Read preference(读取偏好)字段中做出选择。要定义副本集,只需在 Replica set(副本集)字段中输入其名称。
JOIN 子句的 SELECT 查询的可编辑结果 经过十年的筹备,这一备受期待的功能终于面世了!以前,带有 JOIN 子句的 SELECT 查询的结果集网格是只读的。现在,您可以运行此类查询,查看结果集,然后直接在查询结果网格中编辑单元值。为此,只需双击一个单元或选择单元并按 Enter。另外,就像在其他网格中一样,您可以右键点击单元并选择 Open in Value Editor(在值编辑器中打开),在右侧打开的单独窗格中编辑值。
数据编辑器允许您在编辑器内结果和 Services(服务)工具窗口中编辑值。编辑单元值后,Services(服务)工具窗口中 Result(结果)标签页工具栏的以下按钮将变为活动状态:Revert Selected(还原所选)、Preview Pending Changes(预览挂起的更改)、Submit(提交)。
在编辑器内结果窗格的底部也会出现一个包含这些按钮的额外工具栏。
向数据库提交更改时,DataGrip 会显示 DML Preview(DML 预览)对话框,供您首先检查生成的语句。要编辑更改,请点击 Cancel(取消)并开始编辑。要提交更改,请点击 Submit(提交)。
SQL UNION 运算符、表自连接操作结果、带有计算结果列的结果集(例如 CONCAT)或 NoSQL 数据库不支持此功能。为确保此功能正常工作,每一行都必须有一个字段或一组字段来进行唯一标识。
在数据编辑器中,DataGrip 现在为网格热图提供两种配色方案选项:Diverging(发散)和 Sequential(连续)。要为网格启用热图,请点击工具栏上的 Table Coloring Options(表着色选项),然后选择其中一种方案。
Diverging(发散)配色方案强调相对于标准方案的变化。它由两种对比色组成,从中心值向两个相反的方向偏离。
Sequential(连续)配色方案由单一颜色或一系列密切相关的颜色组成,颜色强度逐渐变化。
您可以将热图配色方案应用于整个表或单独的每一列,或者仅将配色用于布尔值。
现在,只需一个操作即可清除网格中所有列的局部筛选器。为此,请按 Ctrl+Shift+A 调用 Find Action(查找操作)弹出窗口,输入 Clear Local Filter For All Columns,然后从列表中选择操作。
现在,DataGrip 可以在浮动工具栏中显示一组对给定代码片段可用的基于上下文和 AI 赋能的操作。在代码编辑器中选择任意代码即可显示工具栏。
要自定义浮动工具栏,请使用竖三点菜单。要将其隐藏,您可以使用相同的菜单或转到 Settings | Advanced Settings | Editor(设置 | 高级设置 | 编辑器),选中 Hide floating toolbar for code editing(隐藏代码编辑的浮动工具栏)选项。
对于正在运行的语句,现在,装订区域中的进度图标会在鼠标悬停时变成 Cancel Running Statements(取消正在运行的语句)按钮。
以前,每次重新启动 IDE 时您都必须将数据源附加到文件。这很麻烦,我们已经把它解决了!
此外,您还可以在 Files(文件)工具窗口中查看每个文件的附加数据源。
现在,每次重新设置代码格式时,您都可以直接从弹出窗口轻松导航到代码样式设置。