Intelligent Rust

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

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

The plugin equips CLion and IntelliJ IDEA Ultimate with a fully-fledged Rust debugger.

Smart Editor

Syntax highlighting

Syntax highlighting

The plugin highlights all elements of your Rust code, including inferred types and macros, ‘cfg’ blocks, and unsafe code usages.

On-the-fly analysis

On-the-fly analysis

While you type, IntelliJ Rust applies a set of inspections to your code and suggests quick-fixes to resolve the problems automatically.

Macro expansion

Macro expansion

The plugin’s macro expansion engine makes macros transparent to code insight and easier for you to explore. Select a declarative macro and call either a one-step or a full expansion view.

Code generation

Code generation

Save time on typing by letting IntelliJ Rust generate code for you. Add missing fields and ‘impl’ blocks, import unresolved symbols, or insert the code templates you use frequently.

Completion

Completion

Get relevant completion suggestions everywhere in your code, even inside a macro call or #[derive].

Navigation & Search

Go-to actions

Go-to actions

IntelliJ Rust helps you navigate through code structures and hierarchies with various Go-To actions, accessible via shortcuts and gutter icons. For example, Go to Implementation lets you quickly switch between traits, types, and ‘impl’-s.

Find Usages

Find Usages

When you need to track all the occurrences of a symbol, call Find Usages. The usages will be highlighted in the editor or listed in a separate window.

Cargo support

Cargo support

IntelliJ Rust fully integrates with Cargo. The plugin extracts project information from your Cargo.toml files and provides a wizard to create new Cargo-based projects.

You can call Cargo commands right from the IDE, and the dedicated tool window will help you manage the entire workspace.

A special configuration template, Cargo Command, is there to let you tune the run/debug process.

IntelliJ Rust comes together with the TOML support plugin, providing code insights to assist you in editing .toml files.

Cargo support

Testing

Testing

The plugin makes it easy to start tests and explore the results.

Call ‘cargo test’ or use the gutter menu, and IntelliJ Rust will employ the IDE’s test runner to show you the process.

After the tests are finished, you will see a tree view of the results. Sort it, export test data, and jump back to the code. IntelliJ Rust provides everything you need to get most out of testing.

Testing

Run, Debug, Analyze

Run, Debug, Analyze

You can get full IDE debugging for your Rust applications in CLion, IntelliJ IDEA Ultimate, and RubyMine.

Breakpoints, stepping through, raw memory, and many other debug essentials are available.

The plugin’s native type renderers build tree-view representation for most of the Rust types, including strings, structs, enums, vectors, and other standard library types.

In addition to debugging you can also get code coverage statistics, and in CLion you can analyze the performance data.

Run, Debug, Analyze