Official Support for Open-Source Rust Plugin for IntelliJ IDEA, CLion, and Other JetBrains IDEs

For those of you who follow the news in the Rust community, you may have noticed a teasing announce saying that the Rust plugin for the IntelliJ Platform is becoming officially supported by JetBrains. The announcement was followed by many questions about the plugin. With this post, we’d like to answer some of them and shed some light on what’s going on with the plugin and JetBrains plans.

It’s probably worth saying a few words on how the plugin started. On the first of September, 2015 two small groups of people at JetBrains simultaneously started working independently on the Rust support for IntelliJ-based IDEs. One of the projects was started by an Alexey Kladov, an intern at JetBrains. The other one was a side project by Alexey Kudinkin. Since the IntelliJ Platform is JVM-based, both plugins started as Kotlin projects, even before Kotlin was released. Since both groups were in touch with the Rust team, after a month, the groups realized about their mutual existence and merged their projects together. This is how the Rust IntelliJ plugin was born.

Making the project open-source really was the right decision since it attracted a lot of contributors, incl. Tobias Bieniek, Marek Kaput, Andrew Lygin, Arseniy Pendryak (among many others) which really helped make it better and shape the community around the plugin.

A year ago, the plugin was highlighted during RustConf’s keynote.

Current State

Since then we have put a lot of effort into making the developer experience even better. However, the plugin is still at a very early stage. Being an awesome language for developers, Rust is not always 100% IDE friendly, mainly due to its complicated type system, and the macros, etc.

  • Currently the plugin is quite helpful with Navigation: Go to Class, Go to Symbol, Go to Super Module, Structure, Go to Definition.
  • The editors offer Code Completion and Code Formatting (rustfmt is not used yet but it is planned), Join Lines, Smart Key (e.g. inserting pair brackets & quotes), Postfix Completion, basic Intentions and Refactorings (e.g. Introduce Variable, and an almost always-working Rename, etc).
  • The plugin supports Cargo: it offers a UI to run tests and applications. Adding this integration even required some work from Cargo’s side.

The main missing feature right now is Debugger. An experimental version of Debugger is now available in CLion but it’s currently very limited, mainly because CLion is heavily focused on CMake.

Our Plans

Our primary plans for the immediate future include:

    • Better consistency with the Rust’s type system
    • Macros
    • Debugger
    • More Intentions, Inspections, Refactorings

Q: Do you have a team working on the plugin?

The plugin’s team currently comprises of Alexey Kladov, who dedicates at least 40% of his time to Rust, and we’re adding another person to the team.

Q: Will there be a standalone Rust IDE from JetBrains

We do not have any specific plans for creating a standalone Rust IDE at this moment, but we have not ruled out the possibility of it in future. The plugin will remain open-source on GitHub. Pull requests, feature requests and bug reports are all welcome there.

If you’d like to try the Rust plugin for any IntelliJ-based IDEs (be it IntelliJ IDEA, CLion, WebStorm, Gogland, PyCharm or any other), make sure to read the docs.

Please feel free to voice your questions, suggestions and other feedback here in the comments. And of course issues and pull requests are always welcome in the intellij-rust Github project.

We appreciate your feedback and support!

JetBrains
The Drive to Develop

About Andrey Cheptsov

Part-time dreamer. JVM/JavaScript geek. IntelliJIDEA Marketing Manager at JetBrains.
This entry was posted in New Products and tagged . Bookmark the permalink.

13 Responses to Official Support for Open-Source Rust Plugin for IntelliJ IDEA, CLion, and Other JetBrains IDEs

  1. Dustin Bensing says:

    Huge thanks to the hole Jetbrains Team! I really love working with your tools and I am really happy to hear that one missing language i like to work with gets your full attention. I am eager to see where we’re at in like a year. You just don’t stop to amaze me!

  2. Krishna Bhogoanker says:

    This is amazing news. Rust is such a wonderful language and I am thrilled that my favorite Jetbrains IDE is integrating support for one of my favorite languages. There are just so many advanced features in Rust that could benefit from better IDE support including more LiveTemplates, other automatic code generation features, better debugging support, etc. Keep up the excellent work. Looking forward to the improvements in the Rust plugin.

  3. Scellow says:

    That is nice news!

    Please also supprot D lang, comunity is a bit silent, but i’m pretty sure we all want an ide/plugin for D too 😀

  4. Kotlin says:

    Are you supporting it because it was written in Kotlin?
    Confess

  5. Murali says:

    Thank you JB team for this. Can’t wait for all the goodies you are going to add to this plugin.

  6. George Johnson says:

    Will this plugin remain open source and available for use in community editions of IntelliJ indefinitely? Or, akin to the Go plugin, will this one day lead to a commercial, closed source fork and abandonment of the free, open source version?

  7. Marco M says:

    Hello,

    let me highjack this good news with a question about the Erlang plugin :-)

    would you consider supporting or at least funding some development for the Erlang plugin (https://github.com/ignatov/intellij-erlang). I love that plugin and I use it to teach an Erlang class at my university. On the other hand it needs some love and I think that the author, the kind Sergey Ignatov, doesn’t have time to work on it.

    Thanks, greatly appreciated!
    Marco

  8. Pedram Nimreezi says:

    YES TO ERLANG and RUST!!!

  9. Alex Z says:

    Any plans to bring Clojure on board? Cursive IDE is pretty cool.

  10. Pablo Alcaraz says:

    Please implement DEBUG FIRST! :)

  11. Giles Cope says:

    It’s been great seeing how fast IntelliRust has come on – kudos to all involved! Superb news that it’s getting official development backing. A great debugging story is the only thing holding Rust back from being a first class language. If we can come close to ReSharper’s debugging experiance that would really be something. It’s not going to be easy, but it’s such an excellent language it really deserves a great debugger.

  12. Apanap says:

    Embedded support with xargo and remote debugging?

Leave a Reply

Your email address will not be published. Required fields are marked *