IntelliJ Rust Changelog #125
source link: https://intellij-rust.github.io/2020/06/29/changelog-125.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
New Features
- Provide initial support for debugging with MSVC toolchain in CLion 2020.2. You can track current progress and restrictions here
- Enable intelligent highlighting inside macro call bodies when new macro expansion engine is used
-
Add initial implementation of
Move File
refactoring. The refactoring currently supports moving a single file without submodules.
- Now Rust plugin is dynamically loadable on 2020.2. It allows you to install the plugin without restarting the IDE
-
Add intentions to convert a method call to UFCS and vice versa (by @Kobzol )
-
Add quick fixes to remove unused variable / parameter (by @Kobzol )
-
Add the quick fix to convert an immutable reference to a mutable one (by @Kobzol )
-
Update icons for Rust items. Now they are more similar to C/C++ icons. Also, fix visibility modifiers for some items in structure view
Before After
-
Make
Introduce variable
refactoring available as an intention (by @Kobzol ) -
Add or improve detection of the new compiler errors:
- Now highlighting of lint inspection annotations is associated with corresponding lint levels defined by lint check attributes like
allow
,warn
, etc. (by @Stzx )
- Basic support for
forbid
attribute. Now messages from a forbidden lint are highlighted as errors in the editor (by @Stzx )
- Allow a user to change mutability of parameters in
Extract Function
dialog (by @Kobzol )
- Report type errors for references with different mutability even if a type is not fully known (by @Kobzol )
- Enable
Convert match statement to if let
intention for irrefutable patterns (by @Kobzol )
- Show unique editor tab names for
main.rs
,lib.rs
andCargo.toml
(by @Kobzol )
- Improve text for
Convert to type
quick fix (by @Kobzol )
- Update
Wrong type arguments number
inspection (by @Kobzol )
- Replace
Remove all type arguments
quick fix withRemove redundant type arguments
quick fix (by @Stzx )
Fixes
- Take into account namespaces when name shadowing occurs. For example, now
use anyhow::anyhow
doesn’t break name resolution
- Fix false positive about not allowed
impl Trait
in associated type binding (by @Kobzol )
- Fix false positive for
Match must be exhaustive
error (by @Mcat12 )
- Fix usage replacement in
Extract Enum Variant
refactoring (by @Kobzol )
- Support tuple struct fields in
Make public
quick fix (by @Kobzol )
- Make
Self
inside impl of enum to be resolved to both impl and enum items (by @fan-tom )
- Don’t trigger
Main function not found
inspection if the file has top-level errors (by @Kobzol )
- Fix
Go to Declaration
from associated type bindings on 2020.2
- Fix parentheses completion for Fn* traits (by @Kobzol )
- Liveness analysis takes into account destructured struct fields (by @Kobzol )
- Fix
Join Lines
action for doc comment lines (by @Stzx )
- Disable
Promote Module to Directory
andDowngrade Module to File
refactorings for invalid files in the editor (by @Kobzol )
- Correctly handle symlinked Cargo projects (by @Jezza )
- Fix
#[macro_export(local_inner_macros)]
when used with the experimental macro expansion engine
- Fix macro expansion infinite progress on 2020.2
- Properly render types in annotations on 2020.2
- Properly escape text in a test output pane
-
Get rid of options to disable the Test Tool window
-
Fix some exceptions:
- In
Remove reference
andChange return type
quick fixes - When analysing file with an external linter
- During code folding of invalid macro calls
- On
Find Usages
in Macros 2.0 - In structure view and usage tooltip
- When formatting file with rustfmt on save
- In
Internal Improvements
- Enable proofreading in commit messages
- Provide issue / PR navigation in git log
Full set of changes can be found here
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK