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 starting from build 143.2287.1. This includes all 2016.1 releases and newer.For example, the minimum supported IDEA version is 15.0.4, the minimum supported CLion version is 1.2. See Help > About menu in the IDE to learn the build version you are using.

×

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

New Features

  • Join lines deals with trailing commas smartly .GIF.

  • Semantic Highlighting is implemented for Rust (by @farodin91). Semantic highlighting, originally introduce in KDevelop, colors each local variable and parameter in a different color. Example.

  • Quick documentation for type parameters (by @Undin).

  • Create New Project dialog allows to create a library (by @Undin).

  • Type inference improvements:
    • derived traits know about Self type (by @Undin).
    • use type arguments when inferring function type (by @vlad20012).
    • don’t special case tuple struct constructor functions (by @vlad20012).
  • Code formatter automatically inserts ; after return statements (by @anton-okolelov).

Fixes

  • Parser correctly handles parenthesis in casts.

  • Indexing operation returns a value instead of a reference (by @Undin).

  • Fix invalid offset crash in Cargo check annotator.

  • Better filter compiler messages in Cargo check annotator.

  • Format logging and asserting macros (by @matklad and @farodin91).

  • Don’t warn about non-conventional names if #[allow(bad_style)] is present.

Internal Improvements

  • Expression type inference code cleaned up (by @Undin).

  • More uniform handling of generics in type inference (by @vlad20012).

  • Refactor grammar, PSI and stub structure for types.