基于云的增强型代码补全、内联 AI 提示、Kamal 2 支持、与 RBS Collection 的内置集成、Ruby 3.4 更新,以及由 Grazie 提供支持的拼写和语法检查
RubyMine 2024.3 通过 JetBrains AI Assistant 插件引入了更快、更能感知上下文的基于云的代码补全,改进了质量和速度,并增加了对多行补全的支持。
在 Mellum 大语言模型 (LLM) 的驱动下,补全延迟只有先前版本的十分之一,几乎可以立即提出建议。补全建议的接受率大约提高了一倍,而取消率则下降到先前版本的一半到三分之一。
请注意,AI Assistant 中基于云的代码补全仅适用于 AI Pro 订阅或有效的免费试用。
RubyMine 现在会为 AI Assistant 提供有关 Rails 应用程序的更多上下文,有助于实现更出色的单元测试生成。
RubyMine 2024.3 引入了内联 AI 提示,提供了直接在编辑器中与 AI Assistant 交互的无缝途径。您可以用自然语言输入请求,AI Assistant 会立即分析并将其转换为代码更改,在装订区域用紫色标记以便跟踪。内联 AI 提示具有上下文感知功能,可以自动包含相关文件和符号,从而更准确地生成代码。
此功能目前在 *.rb 文件中可用。
Rails 8 为使用 Kamal 2 部署应用程序提供了支持,在 RubyMine 2024.3 中,我们为 Kamal 2 配置实现了代码补全。
schema.rb 的为 Nil 性注解 RubyMine 现在可以识别迁移特性的 not-null 类型修饰符,并针对不正确的 nil 赋值提供高亮显示和警告。
在 RubyMine 2024.3 中,queue_schema.rb 和 cache_schema.rb 文件现在具有特定图标和语法高亮显示。
RubyMine 现在具有与 RBS Collection 的内置集成,RBS Collection 是一个社区管理的 RBS 文件集合,用于不包含签名的 gem。
即使您不在项目中使用 RBS,仍然可以直接从 RBS Collection 包含的类型签名中受益。 RubyMine 将自动下载和管理项目依赖项的类型签名。
it 作为块中编号形参的别名 RubyMine 现在可以在不带形参的块中将 it 识别为 _1 的别名,并为此类用法提供类型支持和转换意图。
我们添加了新的错误注解,防止您在具有常规编号形参的块中使用 it。
RubyMine 现在可以识别“冷冻”字符串,这是 Ruby 3.4 中字符串字面量的新过渡状态。在没有 frozen_string_literal pragma 的项目中,字符串将被“冷冻”– 允许修改并发出警告,而不是导致错误。
当您尝试在模糊的嵌套上下文中使用匿名块、rest 和关键字 rest 实参时,RubyMine 现在会显示错误。
Find in Files(在文件中查找)功能得到增强,增加了新的搜索范围 Project Files Excluding Git-Ignored(项目文件,不包括 Git 忽略的文件)。此选项将从搜索结果中排除 .gitignore 文件中忽略的任意文件,帮助您在项目中搜索时只关注相关代码。
现在,您可以使用 Settings | Version Control | Commit(设置 | 版本控制 | 提交)下的新选项 Run advanced checks after a commit is done(提交完成后运行高级检查)在提交过程中管理后台检查。通过此设置,您可以决定是否在提交后运行测试和检查。如果您希望在提交之前完成这些检查,将其禁用即可。
Grazie 插件已在 RubyMine 中开箱即用。它提供的智能检查不仅涵盖简单的拼写错误。它还理解语法规则,并针对不恰当的样式发出警告。
Grazie 检查可以用于字符串、heredoc、注释、块注释和 RDoc 文件。
您可以在 Settings | Editor | Natural Languages | Grammar and Style | Scope(设置 | 编辑器 | 自然语言 | 语法和样式 | 作用域)中管理 Grazie 检查。
我们添加了新选项来控制在调试期间使用控制台或 Evaluate Expression(对表达式求值)字段时是否预选第一个补全建议。
调试期间,Evaluate Expression(对表达式求值)字段现在可以准确反映 self 类型,识别具有推断类型的局部变量和形参,并支持在当前堆栈帧会话中引入的新局部变量的补全。
控制台会话能够记住先前执行的命令并为局部变量提供类型推断和补全。
我们将编辑器中的默认标签页上限提高到了 30 个。这意味着在 IDE 开始关闭最近使用最少的标签页之前,您现在可以保留更多标签页。您可以在 Settings | Editor | General | Editor Tabs(设置 | 编辑器 | 常规 | 编辑器标签页)中控制此设置。
我们优化了 Rename(重命名)操作在编辑器和 Project(项目)工具窗口中的元素上调用时在上下文菜单中的位置。此操作现在位于顶层,方便经常使用鼠标的用户快速重命名文件、变量和其他元素。
我们更新了新终端的 UI,设计更加紧凑,减少了填充,旨在最大限度地利用您的屏幕空间。更小的填充可以节省空间,在您使用命令时提供增强的可见性,同时不会牺牲可读性。
默认情况下,RubyMine 现在会自动高亮显示您在文件中选择的文本的所有实例。这使得跟踪所选文本在整个代码中出现的位置更加简单。