IntelliJ-Rust update

Good morning everyone!

A lot happened since the nightly for the Rust plugin for IntelliJ IDEA had been released, so I think I should give an update :slight_smile:

First of all, we've started publishing alpha builds, so you can install the plugin without fiddling with custom repositories.

Also, we have much better documentation now (enormous thanks to @jajakobyly :heart:). Checkout out the features page to see what is currently available. Do this even if you already use the plugin, there maybe a couple of tricks you don't know about yet!

The plugin is still a work in progress, and a lot is yet to be implemented. However the basic functionality is already there, and perhaps you can give it a try?

  • Navigation across your project, dependencies and standard library works.
  • We have implemented some part of the type system, so go to definition should mostly work for fields and methods in non-generic code.
  • Completion needs a lot more polish, but it is able to give some sensible results (see features page for the description of what works and what doesn't).
  • Code formatting works (again, it was implemented by @jajakobyly). We use a bit different approach to formatting then rustfmt, you may happen to prefer either one.

Many thanks to all of the contributors!

We'd be glad to hear your feedback :slight_smile:

Meta:

Github pages: https://intellij-rust.github.io/

Plugins portal: Rust - IntelliJ IDEs Plugin | Marketplace

Up for grabs issues: https://github.com/intellij-rust/intellij-rust/issues?q=is%3Aissue+is%3Aopen+label%3A"up+for+grab"

Contributing and architectural notes: https://github.com/intellij-rust/intellij-rust/blob/master/CONTRIBUTING.md

11 Likes

Great news, I'm really looking forward to IntelliJ being the best Rust IDE out there.

1 Like

Fantastic, I'm feeling more and more at home in Rust with every IntelliJ-Rust update.

Having it generate 'method stubs' when I'm implementing a trait is especially appreciated. Sure, it's no big deal to head over to the documentation but 1) it takes time, 2) you can't just copy the declarations, you need to turn each of them into a definition (replace ; with { }) 3) when you are done I bet you forgot your brilliant idea for the actual implementation.

Need to check out the 'Click on green triangle to run' feature for tests. If I understood the documentation page correctly, you can 'Run' individual test functions that way, right? That's easily one of my favourite features in Java/Scala

1 Like

What is the current state of code completion, compared to Racer?

I unfortunately haven't used racer myself, so I can't answer this question. I would be glad to hear what others think about it!