当前位置: 首页 > news >正文

JavaEdge

2025.3版本开始,DataGrip 以及其他带有数据库支持的 JetBrains IDE 将不再使用「查询控制台(query console)」这个名称。从现在起,将改用「查询文件(query file)」,因为控制台本质上一直就是文件,现在终于让 UI 与事实保持一致。还优化了整个工作流程,让操作更简单、更直观,也更统一。

1 历史回顾

为啥当初有「控制台」概念?JetBrains 第一次在 IntelliJ IDEA 中加入数据库功能时,大多 Java 开发者都是通过终端操作数据库。为了尽快在 IDE 中复现这种工作方式,JetBrains 为用户提供了一个可以临时编写 SQL 的区域——这个临时 SQL 文件就被称为控制台(console)

多年来,IDE 每个项目只提供一个默认控制台,似乎也够用。但随时间推移,用户提出更多需求,如希望能创建多个控制台、能选择数据库或 schema,以及希望能通过 UI 更方便切换上下文。

2 存在的问题?

控制台本质就是脚本文件,与其他数据库工具提供的脚本文件类似,但有一些让人困惑的地方:

  • 不属于项目结构。控制台文件存在于项目结构之外,虽然用户其实是在项目中工作。
  • 不容易找到。它们被保存在一个隐蔽的文件夹中(和临时文件 scratch files在一起),这让很多人创建了控制台却找不到保存位置。由于 DataGrip 会自动保存控制台文件,内容不会丢失,但这也让定位变得更困难。因为不会弹出「保存」提示,用户经常一头雾水找不到自己创建的控制台,也无法轻松切换上下文
  • 上下文切换麻烦。无法通过 UI 修改控制台的 SQL 方言、数据源或 schema。如果想让它像普通文件一样工作,就得手动保存或迁移
  • 名称让人误解。「查询控制台」这个词并不能准确表达它的功能,新用户经常因此感到困惑

总的来说,控制台的理念不错,但在实际使用中却不够方便——是时候做出改变了。

3 变更内容

经过反复思考,最终做最自然选择:把控制台与文件合并

现在,查询操作完全基于文件形式,查询文件(query files)会显示在项目中,更容易找到,也更方便管理。

具体变化如下:

想对数据库执行查询时,可像以前一样,从数据源或其对象的右键菜单创建查询文件。新文件会命名为Query_[N].sql,命名规则可在「设置」中自定义。

默认情况下,查询文件保存在项目文件夹下的queries文件夹。该文件夹可在「文件(Files)」工具窗口中查看。也可在「设置」中更改保存路径,选择的自定义文件夹也会在工具窗口中显示。

现在,绑定了数据库上下文的文件会显示一个类似数据源的图标,而不再是之前的通用数据库图标,更易区分查询文件。

以前控制台的限制全部取消!现可重新绑定查询文件、修改 SQL 方言或数据源,并像操作普通项目文件一样使用它。

数据库资源管理器工具栏上的「跳转到查询控制台(Jump to Query Console)」按钮已更名为「跳转到查询文件(Jump to Query File)」,并换上了新图标。它现在会列出与当前数据源相关的所有查询文件。

升级到新版 DataGrip 时,会出现迁移对话框,帮助你将所有旧控制台迁移为查询文件,并引导你适应新的工作流程。

临时文件与控制台(Scratches and Consoles)下的旧Database Consoles文件夹会暂时保留一个版本周期,之后将被彻底移除。

4 FAQ

现有控制台会丢失吗?
不会。会将它们安全地转换为.sql文件,并保存在原位置以确保安全。

还能保持原来的行为吗?
技术上可以,但仅限于旧项目,并且只在下一个版本周期内有效。每次重启 IDE 时仍会出现迁移提示框,不过你可以选择「不再显示」。对于新项目,只会启用新逻辑。

全局数据源(global data sources)的控制台会怎样?
在迁移对话框中,你可为这类数据源指定单独的迁移文件夹。这个文件夹会保存到设置中,并作为今后全局数据源查询文件的默认位置。要在 IDE 中访问这些文件,需要将该文件夹手动挂载到具体项目中。

其他 JetBrains IDE 也会这样吗?
会,但目前仅在 DataGrip EAP 中发布。其他带数据库功能的 JetBrains IDE 会自动将查询文件迁移到项目下.idea子文件夹中,这个文件夹通常会被.gitignore忽略。

http://www.jsqmd.com/news/1098126/

相关文章:

  • 3步解锁网易游戏NPK文件:unnpk深度解析与实战指南
  • Selenium弹框定位全攻略:原生Alert与自定义模态框处理方案
  • Java毕业设计-基于 SpringBoot 的高校学生心理健康管理系统的设计与实现 基于 SpringBoot 的大学生心理健康测评管理系统(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • pytest-order插件详解:控制测试用例执行顺序的实战指南
  • ROFL-Player:英雄联盟回放文件的终极解析工具
  • RAG视觉接地:让大模型精准定位PDF中的图、表与坐标
  • Qwen3-Omni双模块架构:Thinker-Talker物理隔离实现234ms低延迟多模态推理
  • 3分钟开启专业虚拟背景:OBS背景移除插件终极指南
  • 分类模型评估指标全解析:从混淆矩阵到业务对齐
  • 手算线性回归:从公式推导到Python零依赖实现
  • 扩散模型原理解析:从噪声到图像的去噪生成机制
  • 大模型MoE架构原理与工程实践:理解专家激活率与显存优化
  • Python自动化测试框架对比:unittest与pytest核心原理与工程实践
  • Vue项目自动化测试实战:Jest单元测试与Cypress端到端测试完整指南
  • PCIe 5.0 AIC金手指Layout避坑指南:从CEM规范到10层板实战布线
  • shared_future
  • Gitleaks实战指南:原理、配置与CI/CD集成,守护代码仓库安全
  • 大模型Fast-Slow双轨推理:认知节奏的工程化实现
  • 手写LSTM从零实现:门控机制、梯度稳定与时间步展开
  • AI代理运行时基础设施:可审计、可恢复的生产级Agent Runtime
  • 零基础Appium自动化测试入门:环境搭建、脚本编写与框架设计实战
  • 如何用adb 查看设备是debug版本还是user版本?
  • AI安全能力管控:模型输出过滤与上下文隔离技术解析
  • 别再凭感觉选MOS管了!手把手教你用Excel搞定损耗计算与选型(附模板)
  • 别再复制粘贴了!手把手教你用Unicode字符搞定Word、Markdown里的上标下标
  • AI驱动自动化测试生成:Cover-Agent原理、实战与避坑指南
  • 基于Playwright与图像对比的自动化视觉回归测试实战指南
  • 线性回归:可解释性驱动的业务建模基石
  • JMeter接口测试从入门到精通:核心组件解析与实战指南
  • Claude for Windows桌面版安装与Claude Code编程实战指南