RustRover 2024.2 最新变化

此版本的亮点包括前端开发和数据库支持,以及全行代码补全。

下载

对非商业用途免费。 提供 30 天试用。

前端开发和数据库支持

基于反馈,我们在 RustRover 中重新实现了对 Web 技术数据库的支持。

Rust 的全行代码补全

此版本为 Rust 语言引入了全行代码补全。 这项功能使用本地运行的深度学习模型提供整行代码建议,不会将任何数据发送到 IDE 之外。 单行灰色文本建议基于当前文件上下文补全语句。 您的 RustRover 订阅中包含全行代码补全,无需额外付费。

将调试器附加到正在运行的进程

您现在可以调试处于有效状态的应用程序而无需重新启动。 这使外部托管程序中的动态库或插件更易处理。

针对 Cargo.toml 的各种改进

  • 接受不同类型的属性的补全建议时,文本光标将保持在同一位置。
  • 如果顶级属性的类型是对象,则顶级属性将以 [] 括起;如果顶级属性的类型是对象数组,则顶级属性将以 [[]] 括起。
  • 在头中,如果属性可以是简单类型或对象的数组,则使用补全建议将不会添加双中括号。
  • lints 可以使用补全。
  • 新检查可防止将数组声明为表数组。

Cargo 配置文件切换器

现在,使用运行/调试配置时,专属 Cargo 配置文件切换工具允许您指定配置文件,让您不再需要手动操作。

更好的 ? 运算符支持

我们显著改进了 ? 运算符类型检查。 现在,自动补全在许多情况下都建议使用该运算符,包括链式方法调用。 还有一项新的检查,用于高亮显示允许使用 ?unwrap() 调用。

文件夹改进

现在,模块文件夹在 Project(项目)视图中方便地标记为软件包,帮助与常规文件夹区分。

此外,拖放文件不再触发父目录的 Move(移动)对话框。

Proc_macro 增强

在工作区中展开可选依赖项中的宏

Cargo 现在会编译 proc_macros 并为代码分析正常运行所需的所有依赖项构建脚本。 请注意,在极少数情况下,您需要禁用显式冲突的功能

特性的快速修复

新的快速修复现在会建议在程序宏 crate 中将 #[proc_macro]#[proc_macro_derive]#[proc_macro_attribute] 特性添加到 pub fn 中。

类似函数的宏调用中的意图操作

现在,对于宏展开中具有单个匹配元素的标记,可以执行意图操作。

未解析名称引用的补全

如果在声明之前创建了函数的用法,IDE 现在将提供带有其名称的补全建议。

其他

此次更新还引入了大量改进:

  • 运行测试不再重建两次项目。
  • 嵌入提示现在可在异步方法链中使用。
  • IDE 现在将 Option<...> 类型返回值包装在 Some() 中 (E0308)。
  • 新警告会告知您 {variables:?} 语法中的漏报 (E0277)。
  • 未解析方法的高亮显示已得到改进 (E0599)。
  • 如果不需要 return,IDE 现在会发出提醒。
  • 使用编译器建议的修正转换标识符现在会影响所有相关的标识符用法。
  • extern location for crate does not exist on sync 错误已被修正。
  • 内置格式化程序运行更加顺畅,已获得针对 20 多个问题的修正。
  • 不稳定的 postfix-match 功能获得支持。
  • 使用 Unix LLDB 调试时,Option/Result 后面的值现在显示在 Threads & Variables(线程和变量)视图中。
  • format! 宏实参的支持已得到改进,IDE 现在会高亮显示未解析的方法。

日语、韩语和简体中文 UI 选项

基本 IDE 安装中现已包含简体中文、日语和韩语 UI 语言包。 您可以通过 Settings | Appearance & Behavior | System Settings | Language and Region(设置 | 外观与行为 | 系统设置 | 语言和地区)切换语言。

语言感知粘性行

现在,您可以选择要为其显示粘性行的语言。 您可以在 Settings | Editor | General | Sticky Lines(设置 | 编辑器 | 常规 | 粘性行)中自定义此功能,也可以使用在编辑器中右键点击粘性行时出现的上下文菜单。

Search Everywhere(随处搜索)中的预览选项

现在,Search Everywhere(随处搜索)对话框增加了一个选项,用于预览您正在搜索的代码库元素。 通过对话框工具栏上的 Preview(预览)图标启用此功能后,预览窗格将出现在搜索结果下方,提供更多上下文并让您更轻松地浏览项目。

AI Assistant

我们目前正在实现 Rust 与 AI Assistant 的特定集成,但开发仍处于早期阶段。 敬请关注更多动态!

RustRover 还从平台版本中继承了远程开发与协作版本控制系统功能。