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 #101

New Features

  • Add initial completion inside macro calls gif
  • Navigation works inside macro calls now gif. Note, it works only when the new experimental macro expansion engine is enabled. You can turn it on via Preferences | Languages & Frameworks | Rust | Expand declarative macros option
  • Support Duplicated code fragment inspection for Rust gif. The inspection can detect duplicates even with different names of local variables, functions and fields, and values of literals. By default, only anonymization of local variable names is enabled. You may change default settings via Preferences | Editor | Duplicates | Rust. Note, this inspection is available since 2019.2 and not available in free IDEs like IDEA Community or PyCharm Community
  • Add Create field quick fix for No such field error annotation gif (by @t-kameyama)
  • Add Convert to struct and Convert to tuple intentions to invoke the corresponding refactorings via Alt + Enter (by @rrevenantt)
  • Provide proper navigation from derive arguments and custom attributes to the corresponding definition of procedural macros (by @fedochet)
  • Add quick fix to create a subdirectory with the corresponding for unresolved module declaration (by @mibac138)
  • Automatically open when project is created


  • Make Auto Import works correctly when an imported trait is re-exported
  • Fix occurred exception while invoking Make public fix quick fix for module declarations
  • Correctly parse macro calls with the same names as stdlib provides

Internal Improvements

  • Add Create New Issue action. Now it’s possible to open issue in our tracker right from your IDE. The action automatically collects environment information about IDE, plugin, Rust versions, etc. Also, selected code is added into Steps to reproduce issue section