IntelliJ Rust

Rust plugin for IntelliJ IDEA*

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

Install

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: https://plugins.jetbrains.com/plugins/nightly/8182
- TOML: https://plugins.jetbrains.com/plugins/nightly/8195

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.

×

Source

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

New Features

  • Initial CPU profiler support in CLion since 2019.1. At this moment it’s available only on Linux and macOS. The implementation is based on the Perf on Linux and DTrace on macOS. You can read more about profiler setup here. Note, on macOS we need rustfilt tool to show human readable function names and perform Jump to Source correctly

  • Implement deprecation inspection. It highlights items marked with deprecated and rustc_deprecated attributes. To suppress these warnings you can add allow(deprecated) attribute. See the corresponding RFC for more details (by @isamborskiy)

  • Support struct patterns with integer fields like let S { 0: x } = expr (by @rrevenantt)

  • Add for postfix completion. Its behavior is exactly the same as iter template

  • Correctly perform name resolution for foo!() macro call when foo is proc macro. Goto definition will navigate you to the corresponding function

Fixes

  • Make rustfmt correctly works with UTF-8 symbols when Run rustfmt on Save option is enabled

  • Fix type inference of generic function args, struct destructuring patterns and vec! macro expression

  • Fix name resolution for type-qualified paths like <T as Foo>::bar