IntelliJ Rust is an open-source Rust plugin for IntelliJ-based IDEs that strives to provide a full IDE experience:
New versions are released every two weeks and three times a year a unified overview post is released. I'll start the thread with recent updates but you can find older stuff here.
IntelliJ Rust Changelog #171
This regular update improves type inference, including unsized coercion, and provides builds for the upcoming 2022.2 releases of JetBrains IDEs:
IntelliJ Rust Changelog #172
This release contains fixes for long-standing issues related to terminal emulation in Cargo commands output. Also, now the plugin provides web references in string literals.
Procedural Macros Under the Hood: Part 2
The second part of the "Procedural macros under the hood" blog series invites you to take a closer look at how the compiler and the IDE process them:
IntelliJ Rust Changelog #176
- Improved "Inline function" refactoring: new names for bindings to avoid shadowing, simple arguments inlining, better handling of nested calls, and destructuring assignments.
- Performance improvements and lots of bug fixes.
IntelliJ Rust Changelog #177
- The rename refactoring of items expanded from a macro is now supported.
- The proc macro server for new rustup toolchains is automatically detected and used by the plugin.
- Debugger pretty-printers improvements.
- Improvements of top-level completion of macro calls.
IntelliJ Rust Changelog #178
- Dependencies not suitable for the current platform are no longer downloaded and analyzed.
- Completion for attribute proc-macros in attributes.
- Debugger pretty-printers for range types.
- Another bunch of performance improvements and bugfixes.
IntelliJ Rust Changelog #179
- Improved folded blocks rendering.
- Build scripts evaluation now uses the –keep-going Cargo option to build/execute as much as possible even if some build scripts or proc-macros are broken.
- redundant_semicolons inspection and fix.
- More function attribute completions
- Another bunch of significant performance Improvements for name resolution and type inference.
Apologies if this is off topic. Is there a way in IntelliJ rust to have a comment which embeds either:
- a filename or
- a module / crate (that is not a dependency but is part of workspace)
and to place the cursor over the label and do a "jump to destination" ?
I'm afraid that I don't know of any universal mechanism to link files in comments. The closest thing that comes to my mind is rustdoc's intra links, though it's not properly supported by IntelliJ-Rust yet - here's the tracking issue:
IntelliJ Rust Changelog #180
- Complete custom derive proc-macros and automatically add imports for out-of-scope ones.
- Automatically import unresolved items after pasting Rust code into the editor.
- 2022.3 EAPs platforms are now supported while 2022.1 are dropped.
As a Pycharm professional customer, I'm super excited that the Rust plugin works in Pycharm, thank you!!
Evaluating Build Scripts In IntelliJ-Rust
Vitaly Bragilevsky wrote a blog post about the newly stabilized support for build script evaluation in IntelliJ Rust: what are build scripts, why are they important for IDEs, a high-level overview of the new feature's implementation, and some usage examples:
IntelliJ Rust Changelog #181
- Build scripts evaluation is now enabled by default.
New syntax for Cargo features is now supported.
- The “Inline type alias” refactoring is now available.
IntelliJ Rust Changelog #182
- Functionality for running documentation tests is now the same as for usual tests.
- Decorate MSVC type names when rendering values in the debugger on Windows.
- A quick-fix to generate missing trait member definitions in trait implementations.