IntelliJ Rust

Rust plugin for IntelliJ IDEA*

*work-in-progress, expect bugs and missing features


Getting alpha builds

IntelliJ Rust is currently in the alpha stage of development. When we reach some acceptable level of stability, we publish alpha builds to the IntelliJ’s main plugin repository. You can download and install these builds directly from Plugins > Browse repositories screen in your IDE.

As this is a preview release, something might go wrong. So, be brave to face some nasty bugs. If you find one, we would very appreciate if you file an issue on our bugtracker or ping us on our chat.

Setting up nightly builds

In addition to preview releases, we also ship pre-release builds of intellij-rust and intellij-toml in the nightly channel.

To use them you need to follow the instructions of adding additional plugin repository and paste the URL for the one you need:

- Rust:

Nightly builds are daily snapshots of current development branch. So, it’s natural that there may be even more bugs than in alpha channel. If you find one, we would very appreciate if you file an issue on our bugtracker or ping us on our chat.

Compatible IDEs

The plugin should be compatible with any Intellij based IDE like IDEA, CLion or PyCharm. Latest plugin is guranteed to support the latest released major platform version (2017.3 at the moment of writing), it may support some previous or EAP versions. See Help > About menu for IDE version and Settings > Plugins menu for plugin version.



What is IntelliJ Rust

Intelligent Rust

We aim to build JetBrains-quality language support for IntelliJ IDEA and related IDEs. Right now, you get native code completionWIP, broad navigation, intentions, formatting and much more...

Corroded IDEA

...while this is still your ol' good IDE. Enjoy highly productive developer experience, VCS integration and other languages support.

What's new

IntelliJ Rust Changelog #90

This is the last release which supports IDEA 2018.2. If you want to continue to receive plugin updates, please upgrade your IDE to 2018.3.

New Features

  • Introduce Put parameters on one line intention gif

  • Support extern crate renaming via Cargo.toml

  • Provide completion for edition property in Cargo.toml gif (by @SomeoneToIgnore)

  • Implement Denote infinite loops with 'loop { ... }' inspection and the corresponding quick fix gif (by @dimonchik0036)

  • Support lifetime and literal macro matchers (by @Jezza)


  • Invalidate caches while completion in the proper way to keep them consistent with written code

  • Correctly highlight modules, extern crates, and their references

  • Improve Add mut quick fix. Now it retains the reference’s declared lifetime and can be applied for more cases (by @Jezza & @gfreezy)

  • Improve match to if let and if let to match intentions (by @dimonchik0036)

  • Run clippy with active project toolchain (by @SomeoneToIgnore)

  • Properly display string values with Unicode symbols on Linux with lldb

  • Fix false positive error annotations for async and try keywords

  • Do not provide super completion after named path segment

  • Do not remove quotes of string values in include macros and path attributes while renaming the corresponding path

  • Fix Join Lines action for async and try blocks

  • Now Implement members quick fix correctly process Self parameter

  • Do not highlight valid private re-exports which start with crate:: as unresolved

  • Show single warning annotation for nested redundant parentheses (by @dimonchik0036)

  • Highlight only invalid segment of path by Invalid path: … annotation instead of the whole path

Internal Improvements

  • Reorganize plugin module structure. Split code into separate modules that have different dependencies

  • Provide API to test only particular annotator

  • Update IDEA & CLion