You can enable the external linter to work on the fly, but this might affect performance especially on big projects. IntelliJ Rust is being actively developed, and new features come with every version.
In addition to the general code insight features like syntax highlighting, code formatting, navigation, and refactoring, the plugin's language support also includes: The default engine provides code insight for generated items such as structs, ends, functions, and traits.
On top of that, it performs highlighting, name resolution, and completion for generated modules and methods from imply blocks, and enables navigation in macro calls. For details on how IntelliJ Rust works with declarative macros, refer to this blog post.
The Cargo tool window () shows all workspace members and targets. Go to Run | Edit Configurations, click, and select Cargo Command.
Use the following pattern for the Command field: or . It separates the input arguments from the build options that will be passed to Cargo.
The Emulate terminal in output console option can be useful for crates like color-backtrace, which behave differently when a process is run under TTY (see the feature description). To start a debug session, select an existing Cargo command configuration, or create a new one.
IntelliJ Rust now gives completion suggestions and provides navigation across features in Cargo.Tom. If you select a region and call Reformat Code (Ctrl+Alt+L on Linux/Windows, all on macOS), the IDE’s formatter will be used instead.
Note that the new algorithm works for top-level items only, so local variables and type inference functionality won’t be affected. If you are interested in the implementation details of the new algorithm, you can find a longer explanation in this ticket.
The Go to generated declaration gutter marker lets you navigate from the # attribute to the corresponding TypeScript code: Other notable updates include completion for rust and Clippy lint attributes, and new intentions for creating a function/method from an unresolved call and for importing a qualified path.
Also, debugging for your Rust code in IntelliJ IDEA Ultimate is now available on Windows with LLB under the MSC tool chain. Just a quick reminder: you need the Native Debugging Support plugin for this (the IDE will prompt you to install it).
While you type, IntelliJ Rust applies a set of inspections to your code and suggests quick-fixes to resolve the problems automatically. Save time on typing by letting IntelliJ Rust generate code for you.
Add missing fields and ‘imply’ blocks, import unresolved symbols, or insert the code templates you use frequently. IntelliJ Rust helps you navigate through code structures and hierarchies with various Go-To actions, accessible via shortcuts and gutter icons.
You can call Cargo commands right from the IDE, and the dedicated tool window will help you manage the entire workspace. IntelliJ Rust comes together with the Tom support plugin, providing code insights to assist you in editing .Tom files.
You can get full IDE debugging for your Rust applications in Lion, IntelliJ IDEA Ultimate, Approve, and Rhyming. In addition to debugging you can also get code coverage statistics, and in Lion you can analyze the performance data.
Read on to learn about the latest updates in the IntelliJ Rust plugin: In the 2020.2 release cycle, IntelliJ Rust has progressed to version 0.3 with the official introduction of the new macro expansion engine.
The new engine was previously available as an experimental feature, but it is now enabled by default. In Lion 2020.2, you can now debug projects that were built on Windows using Rust ’s MSC.
For this, IntelliJ Rust will employ the LLDB-based debugger bundled in Lion as part of the C/C++ Visual Studio tool chain. Note that you don’t necessarily need to install Microsoft Visual Studio or any other software in addition to what is required for compilation.
Start debugging, and IntelliJ Rust will check the tool chains and notify you if there is a mismatch: Note that Rust ’s MSC debugging is still in the early stages of development.
If you are interested in tracking its progress, keep an eye on this meta issue. Or_patterns is an experimental language feature that allows ‘ | to be arbitrarily nested within a pattern.
Currently, IntelliJ Rust provides parsing, name resolution, and type inference for code with or_patterns. Tip : if you are switching the compiler to nightly for an open project, make sure to finish by calling Refresh Cargo Project from the Cargo tool window or via Help | Find Action (Ctrl+Shift+A on Linux/Windows, a on macOS).
Also, the plugin now highlights and annotates errors in format strings inside macros like print! That’s it in terms of the most significant changes we’ve made to IntelliJ Rust for the 2020.2 release.
Please leave your feedback in the comments below or use the plugin’s issue tracker. I'm trying to debug rust code within Lion with GDB under Linux.
No I'm trying to connect via “Remote debug configuration”, using rust GDB as GDB executable. So I downloaded rust and looked in the tar but there this file is also missing.
Install IntelliJ Rust is in active development, and we regularly publish new stable builds to the JetBrains plugin repository. You can download and install them directly from Settings / Preferences | Plugins | Marketplace in your IDE.
The plugin is compatible with all Intellij-based IDEs like IDEA, Lion, or Charm. Rust becomes native to IDEA, Lion, and other IntelliJ IDEs with smart coding assistance, seamless Cargo support, and built-in test runner.
In Lion, you get even more: fully-fledged debugger, CPU profiler, and Val grind recheck. Provide experimental code completion ranking for Rust based on machine learning.
It applies rules learned from data we have gathered anonymously during our Maps, which results in better suggestions. Introduce experimental Cargo.Tom dependency completion based on the new local Cargo registry index.