DataGrip 2020.3 最新变化

使用 SQL 查询 MongoDB

现在,您可以使用 SQL 查询 MongoDB 数据库了! 我们创建了自己的 JS-SQL 转换器来实现此目的。

SELECT 查询有效,有效的子句包括 JOINWHEREGROUP BYHAVINGORDER BYLIMITOFFSET。 可以在此处找到关于所支持功能的完整文章。

Mongo 中每个 SQL 查询的上下文菜单中都有两个选项:Copy JS script to clipboardShow JS Script。 在 JS Script Preview 窗口中,您可以编辑并运行查询。

连接性

Couchbase 支持

Couchbase 支持

我们总是很高兴欢迎新的数据库加入这个大家庭,我们的最新成员是 Couchbase! 值得一提的是,DataGrip 支持 Couchbase Query 服务,而不是 Couchbase Analytics 服务。

Azure AD 身份验证

Azure AD 身份验证

DataGrip 社区一直在要求此功能! 您现在可以使用 Azure AD 登录数据库了。

工作目录

工作目录

现在,您可以为处理数据源的进程指定工作目录。 同样,所有相对路径都将在此目录中解析,例如在驱动程序属性中。

数据编辑器

单独的单元格值编辑器

我们改进了在 2020.2 中首次引入的单元格值编辑器。

格式化的值

格式化的值

现在,即使值存储为一行,也可以显示格式化的值。 此外,您还可以在格式化视图中编辑该值,并将其更新为原始格式设置。 这适用于单行 XML 和 JSON。

底部位置

底部位置

如果屏幕的宽度对流程至关重要,则可以将单元格值编辑器移至数据编辑器的底部。

图像

图像

此面板现在还可以显示图像!

打开转置表

打开转置表

我们默认添加了在 Transpose(转置)视图中打开表和视图的功能。 如果数据库中的标准表具有大量的列,这将十分有用。

缩减选择

缩减选择

很长一段时间以来,可以在表中使用扩展选择操作。 可以在 Windows 和 Linux 中使用 Ctrl+W 以及在 macOS 中使用 Opt+Up 来调用此功能。 现在,我们添加了相反的操作:缩减选择。 在 Windows 和 Linux 中,快捷键为 Ctrl+Shift+W,在 macOS 中,快捷键为 Opt+Down

导入/导出

新提取工具

新提取工具

引入了两个新的提取工具:One-rowSQL-Insert-Multirow

One-Row 可以帮助您将列复制到以逗号分隔的字符串中。 这对于在 IN 子句中粘贴一组值极为有用!

SQL-Insert-Multirow 将生成一条包含多个要插入的新行的 INSERT 语句。

Never quote values

从不引用值

CSV 格式配置中添加了一个新选项:never quote values

内省

收集内省诊断信息

收集内省诊断信息

内省是 DataGrip 检索有关数据库信息的过程。 此信息用于显示数据库资源管理器中的对象、显示其 DDL、提供代码补全建议等。

有时内省会遇到问题。 现在,出现问题时,您可以收集有用数据,并将其传递给我们的支持团队或者包含在我们问题跟踪器的票证中,这样您就可以获得最佳帮助。

Diagnostic refresh 将刷新数据库并将所有查询收集到一个文件中,此文件随后会显示在资源管理器/访达中。 您可以根据意愿自行检查此文件,但其主要目的是在自省速度太慢时您能将文件发送给我们。

Prepare introspector diagnostic 将创建三个文件,并显示在内省出现异常时(即,如果它显示某些已过时的内容或者不显示新对象)我们需要您发送给我们的文件夹。

授权

授权

DataGrip 现在了解对象授权,并且会将它们显示在对象的 DDL 中。

数据库树中的更改

数据库树中的更改

如果您更改了某些对象的 DDL 但尚未提交它们,则等待提交的对象将在数据库树中高亮显示。 以前,您只能在 Database Changes 工具窗口中查看。

表的更多属性

表的更多属性 PostgreSQL

DataGrip 现在使用 TABLESPACEINDEX ACCESS METHOD 生成 DDL。

新对象

新对象 Greenplum

现在,DataGrip 可在数据库树中显示更多对象。 新对象包括 collationmaterialized viewforeign tableforeign data wrapperforeign serveruser mapping

正确显示重载过程

正确显示重载过程 Oracle

一个软件包中的重载过程以前显示为一个项目。 现在完全不一样了。 方括号中的数字是数据库中过程的原生索引。

编码辅助

适用于 Generic 方言的格式化程序

适用于 Generic 方言的格式化程序

使用不受支持的数据库时,享受我们的 SQL 格式化程序的好处!

重命名选项

重命名选项

内联重命名现在将为您提供处理注释、字符串或文本实例的选项。

修复拼写错误

修复拼写错误

在 Windows 和 Linux 上按 Alt+Enter 以及在 macOS 上按 Opt+Enter,无需打开嵌套菜单即可修复拼写错误。

冲突调用的检查

冲突调用的检查 Oracle

我们为 Oracle 引入了新的检查:如果在使用重载函数时发生调用冲突,DataGrip 会警告您:

格式化程序中新的大小写选项

格式化程序中添加新的大小写选项

现在,您可以为内置类型自定义类型(而不只是 类型)和函数定义单独的大小写设置。

运行查询

Run configurations

我们引入了新的实用性功能来帮助您运行脚本。

架构切换

架构切换

如果脚本包含架构切换,DataGrip 会警告您。

显示默认架构

显示默认架构

如果仅选择数据源作为目标,DataGrip 会显示脚本将在其中运行的特定架构。

历史记录目标

历史记录目标

我们还可以从历史记录中选择目标:只需点击小时钟按钮。

在单独标签页中显示控制台输出

在单独标签页中显示控制台输出

对于那些想念 Services 面板之前的美好旧时光以及想要使用全部屏幕宽度的用户,我们在 Settings/Preferences | Database | General 中引入了 Open new services tab for sessions 选项。 开启此选项时,将为每个新的数据库会话创建一个单独的标签页,这样您便不会看到 Services 树。 只有网格或输出!

标签页名称

标签页名称 SQL Server

为结果标签页命名的功能已成为许多用户的最爱,但在以前,如果您一次运行多条语句,这项功能在 SQL Server 中不起作用。 我们已经修复了此问题,因此您可以顺利命名结果标签页了!

‘Explain plan’ 中的索引提示

SQL Server 'Explain plan' 中的索引提示

Explain plan 工具窗口中,如果数据库认为可以帮助提高查询性能,DataGrip 将为您创建索引。

DDL 编辑

警告过时的表结构

警告过时的表结构

如果打开视图、例程或函数进行编辑,但实际上数据库中的对象已更改,而您正在编辑过时的版本,DataGrip 会警告您。

从 2020.3 开始,表也是如此!

如果对象已被删除,会发出警告

对象删除警告

帮助您掌握最新信息的另一项增强功能:如果一个对象被完全删除,您将收到有关该对象的专用警告。

想象一下,您打开了例程 inventory_in_stock 的 DDL,进行了一些更改,但就在那一刻,有人把它删除了!

DataGrip 提供了三个选项:

  • Revert local changes:当您不想再编辑过程并且可以接受它被删除的事实时,使用此选项。 将关闭 DDL 编辑器。
  • Keep local changes:当您想要继续编辑过程时,使用此选项,但实际上,当您按 Submit 时,您将重新创建过程。 由于服务器版本不再可用,因此更改不再高亮显示。
  • Restore in the database:当您希望 DataGrip 基于从上次刷新开始缓存的版本恢复过程时,使用此选项。 您的更改将继续高亮显示,因为服务器版本现在再次可用。
迁移操作随处可用

迁移操作随处可用

SubmitRollbackShow Changes 现在在对象上下文中的任何位置都可用。 它们也在对象的上下文菜单中。 例如,如果要回滚几个例程并取消本地更改,只需在数据库资源管理器中选择更改,然后使用 Database Tools 菜单部分中的 Rollback 操作。

常规

拖放标签页

拖放标签页

现在,您可以拖放标签页以水平或垂直拆分编辑器。 如果您想将结果以拆分模式固定到标签页,请对每个结果使用 In-Editor Results

欢迎屏幕

欢迎屏幕

与其他 JetBrains IDE 不同,DataGrip 一直没有欢迎屏幕。 当您打开 DataGrip 2020.3 时,它仍然会直接转到上次打开的(或默认)项目。 但是,当您关闭所有项目时,将出现欢迎屏幕。 在这里,您可以访问所有项目、管理插件和自定义 IDE。

按项目插件

按项目插件

Settings | Plugins 现在提供了一个选项,允许您仅对当前项目启用或禁用插件。 当第一个需要某个插件的项目打开时,将自动加载该插件,而当最后一个此类项目关闭时,会自动卸载该插件。

将当前主题与操作系统设置同步

将当前主题与操作系统设置同步

如果用户在 Settings/Preferences | Appearance & Behavior | Appearance | Theme 中选择了 Sync with OS,则当操作系统 UI 切换浅色或深色主题时,IDE 将自动进行相同的更改。

用单词表示 macOS 快捷键

用单词表示 macOS 快捷键

如果您苦于阅读 macOS 快捷键,请尝试在注册表中切换 ide.macos.disable.native.shortcut.symbols 键。 可以通过使用 Find Action (Cmd+Shift+A) 并在其中输入 ‘Registry’ 来调用注册表。

预览标签页

预览标签页

现在,您只需点击一下即可在预览标签页中打开文件。 要启用此功能,请点击 Files 工具窗口视图中的齿轮图标,然后选择 Enable Preview Tab。 如果您开始编辑以这种方式打开的文件,它将不再是预览,而是变为一个普通文件。

简单计算器

简单计算器

现在,您可以在 Search Everywhere 对话框的搜索栏中输入简单的数学公式,之后您将立即看到计算结果。

文件关联

文件关联

从 2020.3 开始,您可以将 DataGrip 设为打开指定类型文件的默认应用程序。 转到 Settings/Preferences | Settings | Editor | File Types,然后点击 Associate file types with DataGrip 按钮。

顺带一提,这不仅仅适用于与数据库相关的文件! DataGrip 还是一个适用于 JSONHTMLMarkDown* 文件的出色编辑器!

*通过插件

Expand all

全部展开

DatabaseFiles 工具窗口中,Collapse All 现在附带 Expand All 按钮。 可以从 Project 视图中,或者在 macOS 上按 Cmd+加号或在 Windows 或 Linux 上按 Ctrl+数字键盘加号来选择此选项。

重要修复

  • 调用速度搜索时,Copy 操作将复制列出的条目文本,而不是速度搜索文本:IDEA-238064
  • 修复了 MongoDB 的 Test Connection 问题。 以前,即使没有建立连接,也总会成功。
  • MySQL BLOB 字段再次变为可编辑:DBE-11311
  • 更改 Limit page size setting 后,将在数据编辑器中重置自定义页面大小:DBE-11510
  • MySQL 在第一次查询后,脚本中的 USE 语句不会重置:DBE-9145