Over the last months, the new engine has received a lot of fixes and updates.
![intellij rust intellij rust](https://www.jetbrains.com/edu-products/learning/rust/img/learn_rust_3.png)
To give it a try, enable the Use experimental name resolution engine checkbox in Settings / Preferences | Languages & Frameworks | Rust. The new engine is still in the experimental stage and is disabled by default. In the previous blog post, we announced a redesign of the plugin’s name resolution engine. This applies to the cases like cfg_attr(., derive(.)) or cfg_attr(., path=".").Įxperimental name resolution engine: fixes, features, and optimizations
INTELLIJ RUST CODE
Getting to cfg_attr support, IJ Rust now takes the nested attributes inside cfg_attr into account during name resolution and code analysis. In this release cycle, we added the Find Usages functionality for Cargo features to help you easily navigate between the usages of a particular feature across the entire code base:Ĭompletion now works for the feature argument, as well as the features’ values, in both cfg and cfg_attr attributes:
INTELLIJ RUST UPDATE
Make a selection, call Tools | Rust | Share in Playground, and IJ Rust will post your code there for you:Īnother notable update in the editor is the new intention for making an item public or private:Įnhancements in conditional compilation support Just start typing a new name, and the refactoring will suggest a list of hints right away:Īll Rust-related actions are now grouped under a separate node in the Tools section of the main menu and in context menus all over the IDE:Ī new action, Share in Playground, is a timesaver when you need to share a piece of code on Rust Playground. Now you don’t have to call Rename manually when changing a code element like struct, function, or local variable. We plan to add this functionality shortly. This refactoring can help you quickly change the name and return type of a function, modify the list of the parameters and set the default ones, and also add the async or unsafe prefix.Ĭurrently, the implementation of Change Signature for Rust lacks the suggestions available for other languages. If you are working in a JetBrains IDE with code in languages other than Rust, you might be accustomed to the Change Signature refactoring. Improvements in refactorings Change Signature If you are using an earlier Cargo version, the compiler’s output will be logged in plain text as before. This structured view works with Cargo versions 1.48.0 and later. Use the ‘eye’ button in the left-hand pane if you prefer successful steps to be displayed as well: The dedicated tab, Build Output, opens up automatically when you call any Cargo command with a building step, such as build, run, test, check, and others.īy default, it shows warnings and failures for a build. The structured view for the compiler’s output inside the Build tool window is now enabled by default.
![intellij rust intellij rust](https://user-images.githubusercontent.com/33482468/94046571-70db5200-fe03-11ea-925e-7a918f6e68e0.png)
INTELLIJ RUST WINDOWS
Note that on Windows your project should be built using Rust’s MSVC toolchain (see this issue for details on MSVC LLDB support). It is implemented similarly to that in IntelliJ IDEA Ultimate and requires the Native Debugging Support plugin and works with LLDB. Starting from the 2021.1 version of the IDEs, it also works in GoLand and P圜harm Pro. Previously, debugging for your Rust code was available in CLion and IntelliJ IDEA Ultimate only. Experimental name resolution engine: fixes, features, and optimizations.Enhancements in conditional compilation support.Structured view in the Build tool window.Now let’s dive into the updates that have landed in the plugin in this release cycle. Our documentation system is still in active development on both the frontend and the content edge, so your feedback is very welcome! Please share your experience in the comments below or submit an issue in our tracker (we are working on a more convenient solution for collecting feedback on the docs).
![intellij rust intellij rust](https://www.jetbrains.com/rust/img/screenshots/testing.jpg)
INTELLIJ RUST FULL
Have you already explored the documentation we released a while ago? If not, we encourage you to check it out! It describes the plugin in full detail and also gives some general IDE-related info. From now on, we’ll be describing the plugin’s news and features with regard to all the IDEs it’s compatible with. This is the first entry we are publishing in a dedicated blog for IntelliJ Rust! Previously hosted on the CLion blog, our articles were tied closely to that particular IDE.