IntelliJ Rust Changelog #138
New Features
-
#6530 Enable
Build
tool window by default. TheBuild
tool window provides structured output forbuild
,run
andtest
commands. Note, this feature requires Cargo 1.48.0 or higherYou can disable it via
org.rust.cargo.build.window
option inExperimental Features
dialog (Help | Find Action
and typeExperimental features
to open the dialog) -
#6419 Provide experimental code completion ranking for Rust based on machine learning. It applies rules learned from data we have gathered anonymously during our EAPs, which results in better suggestions. Note that we have not collected any source code, only information about your interactions with the code completion UI. The ranking model is disabled by default for now. You can enable it via
Editor | General | Code Completion | Machine Learning-Assisted Completion
settings. -
#6443 Update obsolete references in
use
groups viaMove
refactoring (F6). Now, when movingfoo
frommod1
tomod2
, the outdated group importuse mod1::{foo, bar};
will be replaced with the properuse mod2::foo; use mod1::bar;
. -
#5644 Add
Fill missing arguments
quick-fix to complete a function call arguments with default values (by @Kobzol) -
#5771 Add the intention to change item visibility (by @Kobzol)
-
#6390 Introduce experimental
Cargo.toml
dependency completion based on the new local Cargo registry index. Note, the corresponding feature is disabled by default for now. You can enable it viaorg.rust.crates.local.index
option inExperimental Features
dialog (Help | Find Action
and typeExperimental features
to open the dialog) -
#6492 Show quick documentation for keyword-like elements, e.g.
fn
,enum
,async
, etc -
#6273 Provide highlighting of string-formatting macros from
log
crate, in addition to already supported macros from stdlib likeprintln
,format
, etc. (by @Kobzol)
Performance Improvements
- #6526 Speedup name resolution, especially in large Rust modules
Fixes
-
#6498 Resolve derive procedural macros with new name resolution engine. Note, you can enable the new engine via
Use experimental name resolution engine
option inPreferences | Languages & Frameworks | Rust
settings -
#4254 Proper support for ANSI escape codes in
Build
tool window -
#6533 Improve popup of
Has implementations
gutter icon by items sorting and allowing to open results inFind
tool window -
#6506 Fix false-positive warnings about wrong naming convention for non-ASCII identifiers (by @Stzx)
-
#6491 Do not annotate
cfg
-disabled trait items as missing (E0046) and do not offer them viaGenerate members
action (by @Kobzol) -
#6404 Parse fully qualified macro calls at top-level properly (by @msmorgan)
-
#6004 Fix inlining of function arguments (by @SaarYogev)
Full set of changes can be found here