IntelliJ Rust

Open-source Rust plugin for IntelliJ-based IDEs

Install

Stable builds

IntelliJ Rust is in active development, and we regularly publish new stable builds to the JetBrains plugin repository. You can download and install them directly from Settings / Preferences | Plugins | Marketplace in your IDE.

Nightly builds

In addition to stable releases, we also ship nightly snapshots of the intellij-rust development branch. To use the nightly channel, add a custom plugin repository and set the following URL:

https://plugins.jetbrains.com/plugins/nightly/8182

Compatible IDEs

The plugin is compatible with all Intellij-based IDEs like IDEA, CLion, or PyCharm. The latest plugin version supports the latest released platform version (for example, 2019.2).

Bug reports and feature requests

Please use our tracker. You can get there quickly right from the IDE: call Create New Issue on a selected piece of code, and you’ll jump to a pre-filled issue creating form.

Also feel free to ping us on Gitter.

×

Source

Intelligent Rust

editor features

IntelliJ Rust brings JetBrains-quality language support and full IDE experience to your Rust workflow.

Rust becomes native to IDEA, CLion, and other IntelliJ IDEs with smart coding assistance, seamless Cargo support, and built-in test runner.

In CLion, you get even more: fully-fledged debugger, CPU profiler, and Valgrind memcheck.

What's new

IntelliJ Rust Changelog #200

New Features

  • Add Code Vision hints

    • #10763 Usages hints for some top-level items

    • #10756 VCS hints

  • #10744 Improve completion of if and match keywords

  • #10718 Show the macro expansion in quick documentation on hover

  • #10729 Add the quick fix for printing a struct that doesn’t implement Debug or Display traits

  • #9424 The intention to convert a match expression to a series of if let expressions is now offered in more situations (by @Kobzol)

  • #10716 Respect CARGO_HOME env variable when looking for Rust toolchain

  • #10739 Support Unused must_use inspection for impl Trait

  • #10714 Support c_str_literal feature

  • #10726 Add inspection to replace therad_rng().gen() with random() from rand crate

Fixes

  • #10760 Adjust IntelliSense file size limit for Rust files. This fixes the expansion of macros from swc

  • #10755 Implement impls search for an alias of an alias and for an alias usage

  • #10749 Fix expansion of macro in pattern binding position

  • #10748 Fix type inference for macro expanded to closure

  • #10721 Consider trait bounds when performing dereference

  • #10720 Fix resolve of an associated type pointed to an enum variant

  • #10719 Fix Cargo tool window initialization on 2023.3

  • #10706 Fix handling of stdlib dependencies on 1.72.0-beta

  • #10702 Don’t show integer literal suffix completion if the literal already contains a suffix

  • #10685 Support multiple build.target values in .cargo/config.toml (by @mryall-mawson)

  • #10762 Remove unused_qualifications lint from unused group, change level to WEAK WARNING

Internal Improvements

  • #9958 Add support for showing implementations (inheritors) Code Vision. Note, these hints are available starting with 2022.3 and are currently disabled by default. You can turn it on via Registry... | org.rust.code.vision.implementation (by @Kobzol)

  • #10708 Make 2023.2 the default platform for development

  • #10705 Merge toml module source into the main module

Full set of changes can be found here