IntelliJ Rust Changelog #127
New Features
-
#5386 Support Rust documentation rendering in an editor. Just click to the corresponding icon on gutter to look at rendered version of a particular comment. Also, you can enable it by default via
Render documentation comments
option inPreferences / Settings | Editor | General | Appearance
settings. Note, there are some restrictions in 2020.1 IDEs. See here for more details -
#5536 Provide initial formatter for TOML. Currently, it affects only spacing and indentation. You can adjust settings via
Preferences / Settings | Editor | Code Style | TOML
panel (by @Kobzol) -
#5647 Add quick fix for
Mismatched types
error annotation to change type of local variable (by @Kobzol) -
#5717 Make
Go to Type Declaration
Ctrl+Shift+B action work properly with macro-generated items -
#5688 Keep existing reference style while
Move
F6 refactoring, i.e. absolute paths stay absolute, one segment paths stay one segment, etc.
Performance Improvements
- #5723 Slightly speed up indexing.
Now, the plugin correctly handle new experimental
raw
syntax and doesn’t parse blocks with it while indexing that decreases duration of the corresponding phase
Fixes
- Test tool window improvements:
- Name resolution fixes:
- #5762 Properly handle
crate::macro_name!
calls while name resolution. Previously, such calls couldn’t be resolved and as a result, the plugin couldn’t expand the corresponding macro call - #5690 Do not resolve project dependencies in build scripts and build dependencies inside common project code
- #5762 Properly handle
-
#5757 Handle module re-exports with aliases while path collection for auto import. Previously, the plugin didn’t take into account module aliases that led to the absence of
Import
quick fix in some cases -
#5658 Do not offer
let
andreturn
keywords inside struct literals and struct patterns while completion (by @Kobzol) -
#5539 Improve
Add unsafe to block
quick fix to find the closest enclosing block (by @Kobzol) -
#5517 Improve documentation links for dependencies in
Cargo.toml
-
#5710 Fix
IndexOutOfBoundsException
because of invalid rustc annotation -
#5744 Fix exception while Valgrind launch in CLion (by @Kobzol)
-
#5708 Fix
Synchronous execution on EDT
exception while new Rust project creation - #5718 Fix possible
PsiInvalidAccessException
and wrong name resolution in some cases
Internal Improvements
- #5690 Introduce
Crate
andCrate Graph
abstractions. Previously, the plugin operated with raw Cargo targets. Now, most of the target usages replaced with Cargo-independent Crate API. It should isolate knowledge about build system from common language code like name resolution, completion, etc. Which in turn makes the existent code clearer and should simplify support for new build tools in the future
Full set of changes can be found here