RustRover 2024.2

Released: Sep 5, 2024

2024.2 中的更新

特性

Frontend development and database support

  • Support for web technologies and databases in RustRover has been reimplemented.

Full line code completion for Rust

  • This release introduces full line code completion for the Rust language. This feature suggests entire lines of code using a deep learning model that runs locally without sending any data outside your IDE. The single-line gray text suggestions complete statements based on the context of the current file. Full line code completion is included in your RustRover subscription at no extra cost.

Ability to attach the debugger to running processes

  • You can now debug active applications without restarting them. This makes it easier to work on dynamic libraries or plugins in externally managed programs.

Various improvements for Cargo.toml

  • When you accept a completion suggestion for a property with a different type, the caret will now remain in the same place.
  • A top-level property will now be bracketed with [] if its type is an object, and [[]] if its type is an array of objects.
  • In headers, if a property can be an array of a simple type or object, using a completion suggestion for it will not add double brackets.
  • Completion is available for lints.
  • A new check prevents declaring an array as an array of tables.

Cargo profile switcher

  • When using run/debug configurations, a dedicated Cargo profile switcher now allows you to specify the profile, so you no longer have to do so manually.

Better support for the ? operator

  • Significantly improved ? operator type-checking. The operator is now suggested by auto completion in a number of cases, including chained method calls. There is also a new inspection to highlight unwrap() calls that allow using ?.

Folder improvements

  • Module folders are now conveniently marked as packages in the Project view to help distinguish them from regular ones.
  • Dragging and dropping a file no longer triggers a Move dialog for the parent directory.

Proc_macro enhancements

  • Expanding macros from optional dependencies in a workspace - Cargo now compiles proc_macros and build scripts for all dependencies that are necessary for code analysis to function properly. Note that in rare cases you'll need to disable features that explicitly conflict.
  • Quick-fixes for attributes - New quick-fixes now suggest adding the #[proc_macro], #[proc_macro_derive], and #[proc_macro_attribute] attributes to your pub fn in procedural macro crates.
  • Intention actions in function-like macro calls - Intention actions are now available for tokens with a single matching element in the relevant expanded macro.
  • Completion for unresolved name references - If you create a usage of a function before declaring it, the IDE will now offer a completion suggestion with its name.

Miscellaneous

  • Running a test no longer rebuilds the project twice.
  • Inlay hints are now available in async method chains.
  • The IDE now wraps Option<...> type return values in Some().
  • New warnings inform you about false negatives in the syntax of {variables:?}.
  • Highlighting has been improved for unresolved methods.
  • The IDE now alerts you if a return is unnecessary.
  • Applying the Convert the identifier fix now changes all relevant identifier usages.
  • Support is available for the unstable postfix-match feature.
  • The value behind Option/Result is now displayed in the Threads & Variables view when debugging with Unix LLDB.
  • The support for format! macro arguments have been improved, and the IDE now highlights unresolved methods.

Japanese, Korean, and Chinese UI options

  • Chinese, Japanese, and Korean UI language packs are now included in the base IDE installation. You can switch the language via Settings | Appearance & Behavior | System Settings | Language and Region.

Language-aware sticky lines

  • You can now choose the languages you want sticky lines to appear for. You can customize this feature either in Settings | Editor | General | Sticky Lines or through the context menu that appears when you right-click on a sticky line in the editor.

Preview option in Search Everywhere

  • The Search Everywhere dialog now includes an option to preview the codebase elements you're searching for. Enabling this feature through the Preview icon on the dialog's toolbar will cause a preview pane to appear under the search results, offering additional context and making it easier to navigate through your project.

修补程序

  • The built-in formatter works significantly better, having received fixes for over 20 problems.
  • The external location for crate does not exist on sync error has been fixed.