RubyMine 2025.2 带来了多项令人期待的更新,包括:
我们来深入了解详细信息!
JetBrains AI Assistant 刚刚进行了重大升级,为您带来更智能的补全、更好的项目理解以及对 IDE 中 AI 运作方式的更多控制。 以下是 AI Assistant 新功能的简要概述。 在这里阅读全文。
ERB 的云代码补全已扩展, 现在支持 ERB 标记,例如 <% <caret> -%> 和 <%= <caret> %>。
此功能以 RubyMine 现有的 AI Ruby 代码补全为基础构建,并包括以下增强:
AI Assistant 聊天现在对 Classes(类)和 Symbols(符号)利用 Search Everywhere 功能整合更准确的上下文。
您现在可以定义指导 AI 回答的项目特定指令,例如编码样式或框架约束。 规则存储在项目内部,并且可以在团队内共享,无需重复手动输入即可确保一致性。
AI Assistant 可让您连接机器上运行的第三方 LLM 来使用本地模型。 除了 Ollama 和 LM Studio,您现在可以使用任何与 OpenAI API 兼容的模型服务器,例如 llama.cpp、LiteLLM 等。 这样一来,您可以免费利用 AI 赋能功能,且不会有数据离开您的机器。
JetBrains AI Assistant 现已支持使用 Anthropic 和 OpenAI 模型在聊天中添加图像附件。
在 RubyMine 2025.2 中,AI Assistant 将在更广泛的环境中提供更多代码建议,简化开发工作流。
此外,对多行输出格式设置的改进提供了更精致的编码体验。
JetBrains AI 编码智能体 Junie 在 RubyMine 2025.2 中以插件形式提供,具有以下重大更新:
RubyMine 2025.2 允许您禁用用于某些代码检查的特定类型签名提供程序。
如果检查使用来自多个服务的数据并且您希望避免冲突,这会特别有用。
例如,Mismatched Argument Type(不匹配的实参类型)检查使用 RBS 和 Sorbet,它们可能相互冲突。 为了避免问题,您可以禁用其中一个。
要查找所有可能存在冲突的检查并禁用一些提供程序,请转到 Settings | Editor | Inspections | Ruby | Probable bugs(设置 | 编辑器 | 检查 | Ruby | 可能的 bug)。
现在,处理包含大量迁移文件的 Rails 项目的体验更加流畅。 RubyMine 2025.2 确保迁移的编辑、添加和删除不会出现延迟或冻结,使您的工作流不会中断。
我们优化了项目启动期间某些后台任务的处理方式。
我们延迟了一些操作并减少了另外一些操作的运行频率,使项目启动更快、更顺畅,让您可以更快开始工作。
例如,刷新 Rake 任务和 Rails 生成器或更新 RBS 集合等操作现在仅在绝对必要时运行。
RubyMine 2025.2 现在支持 RBS 声明和引用的悬停提示。
按 Ctrl 并将鼠标悬停在 .rbs 文件中的声明上,即可查看目标的预览。
此预览特别有助于在上下文中快速深入了解引用的目标。 例如,您可以使用该预览查看类型别名的定义,而无需实际导航到类型别名。
改进的 RBS 集合类型支持现在默认启用。
您会注意到以下功能的精度有所提高:
注意:RBS 集合集成需要 RBS 3.2,它与 Ruby 3.4 捆绑。 如果您使用的是旧版 Ruby,RubyMine 将提示您安装相应的 gem。
RubyMine 2025.2 带来了针对 Bundler 的改进,对于多模块项目尤其有益。
RubyMine 现在将所有模块中的缺失 gem 通知集中到一个提醒中,有助于减少混乱和中断。
为了避免每次调用 Bundler 命令时都要处理对话框,我们推出了一个新的 Bundler 标签页。 它位于 Settings | Tools(设置 | 工具)下,允许您:
RubyMine 现在按模块逐个安装 gem,以防止冲突并避免重复安装在多个模块之间共享的 gem。
我们优化了 RubyMine 处理异常常量代码补全的方式。 如果未提供前缀(例如,无输入触发自动补全),建议现在仅限于一组集中的相关常量。
这一调整显著提高了性能,尤其是在大型项目中。
在 RubyMine 2025.2 中,安装调试器 gem 的过程是非模态的,进度显示在终端窗口而不是进度条中。
RubyMine 为 Qodana 中新推出的 Ruby linter 提供支持。
Ruby linter 将 RubyMine 强大的代码检查引入自动化工作流,帮助您捕获问题并在整个项目中保持高代码质量。
Qodana for Ruby 目前处于抢先体验阶段。 您可以在 Qodana 文档中找到更多详细信息。