IntelliJ Rust Changelog #138
New Features
- 
    #6530 Enable Buildtool window by default. TheBuildtool window provides structured output forbuild,runandtestcommands. Note, this feature requires Cargo 1.48.0 or higher You can disable it via org.rust.cargo.build.windowoption inExperimental Featuresdialog (Help | Find Actionand typeExperimental featuresto 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 Completionsettings.
- 
    #6443 Update obsolete references in usegroups viaMoverefactoring (F6). Now, when movingfoofrommod1tomod2, the outdated group importuse mod1::{foo, bar};will be replaced with the properuse mod2::foo; use mod1::bar;. 
- 
    #5644 Add Fill missing argumentsquick-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.tomldependency 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.indexoption inExperimental Featuresdialog (Help | Find Actionand typeExperimental featuresto 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 logcrate, 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 engineoption inPreferences | Languages & Frameworks | Rustsettings
- 
    #4254 Proper support for ANSI escape codes in Buildtool window
- 
    #6533 Improve popup of Has implementationsgutter icon by items sorting and allowing to open results inFindtool 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 membersaction (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