Skip to content

Changelog 183 #168

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Nov 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions _posts/2022-11-21-changelog-183.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
layout: post
title: "IntelliJ Rust Changelog #183"
date: 2022-11-21 13:00:00 +0300
---


## New Features

* [#9641], [#9699] Support [Intention and quick-fixes preview](https://blog.jetbrains.com/idea/2022/09/intellij-idea-2022-3-eap/#Intention_action_preview_enabled_by_default) in 2022.3.
Note, not all intentions and quick-fixes have a preview at this moment. See the corresponding [issue](https://github.com/intellij-rust/intellij-rust/issues/9561) for more details

{% include gif-img.html path="/assets/posts/changelog-183/intention_preview" w="700px" %}


* [#7353] Support code insight features (like completion, navigation, find usages, rename, etc.) for [intra-doc links](https://doc.rust-lang.org/rustdoc/write-documentation/linking-to-items-by-name.html)

{% include gif-img.html path="/assets/posts/changelog-183/intra-docs_links" w="700px" %}

* [#9649] Enable native Rust support in [MSVC LLDB](https://blog.jetbrains.com/clion/2019/06/clion-2019-2-eap-msvc-debugger-unused-includes-check-and-more/#msvc_debug) in 2022.3 IDE builds on Windows.
Currently, the most visible improvement of the native support is the proper displaying of Rust primitive type names, such as `u64` instead of `unsigned long long`

| Before | After |
|-|-|
| ![image](/assets/posts/changelog-183/msvc_lldb_before.png) | ![image](/assets/posts/changelog-183/msvc_lldb_after.png) |

* [#8958] Provide support for proper build script evaluation and procedural macro expansion on Windows with arm64 CPU

* [#9350] Support [renaming](https://plugins.jetbrains.com/plugin/8182-rust/docs/rust-refactorings.html#rename-refactoring) (`Refactor | Rename` or <kbd>Shift</kbd>+<kbd>F6</kbd>) derive procedural macros

* [#9694] Enable [derive](https://doc.rust-lang.org/reference/procedural-macros.html#derive-macros) procedural macro expansion in [nightly plugin builds](https://plugins.jetbrains.com/plugin/8182-rust/docs/rust-quick-start.html#install-nightly).
To turn it off, disable `org.rust.macros.proc.derive` [experimental feature](https://plugins.jetbrains.com/plugin/8182-rust/docs/rust-faq.html#experimental-features)

## Fixes

* [#9698] `Specify type explicitly` intention now uses fully qualified name when the same name is already in scope

{% include gif-img.html path="/assets/posts/changelog-183/specify_type_explicitly" w="700px" %}

* Completion improvements
* [#9658] Show completion autopopup when typing in a recursive macro call

* [#9714] Fix type inference of const arguments in a path qualifier type arguments

* [#9708] Fix completion in a function-like macro call body

* [#9695] Properly load stdlib metadata with [custom build target](https://docs.rust-embedded.org/embedonomicon/custom-target.html)

* [#9689] Fallback to hardcoded stdlib structure if fetching of stdlib structure failed for some reason

* [#9633] Fix `clippy` if the run configuration doesn't contain `Build Before Launch` task

* [#9602] Show error about incompatibility between Run targets and WSL toolchains in Run/Debug configuration editor

* [#9585] Fix `Add unambiguous imports on the fly` option for 2022.3

* [#9525] Substitute `Self` in [`Inline function`](https://plugins.jetbrains.com/plugin/8182-rust/docs/rust-refactorings.html#extractmethod-refactoring) refactoring (`Refactor | Inline...` or <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>N</kbd>)

* [#9470] Improve completion when the caret is placed in the middle of an identifier

* [#9515] Add trailing comma if needed by `Add missing fields` quick fix (by [@t-kameyama])

* [#9377] Fix `docs.rs` documentation hyperlinks for procedural macros (by [@afetisov])

## Internal Improvements

* [#9667] Await finish of macro expansion task when running inspection from [command line](https://www.jetbrains.com/help/idea/command-line-code-inspector.html) or via [Qodana](https://www.jetbrains.com/qodana/)

Full set of changes can be found [here](https://github.com/intellij-rust/intellij-rust/milestone/92?closed=1)

[@afetisov]: https://github.com/afetisov
[@t-kameyama]: https://github.com/t-kameyama

[#7353]: https://github.com/intellij-rust/intellij-rust/pull/7353
[#8958]: https://github.com/intellij-rust/intellij-rust/pull/8958
[#9350]: https://github.com/intellij-rust/intellij-rust/pull/9350
[#9377]: https://github.com/intellij-rust/intellij-rust/pull/9377
[#9470]: https://github.com/intellij-rust/intellij-rust/pull/9470
[#9515]: https://github.com/intellij-rust/intellij-rust/pull/9515
[#9525]: https://github.com/intellij-rust/intellij-rust/pull/9525
[#9585]: https://github.com/intellij-rust/intellij-rust/pull/9585
[#9602]: https://github.com/intellij-rust/intellij-rust/pull/9602
[#9633]: https://github.com/intellij-rust/intellij-rust/pull/9633
[#9641]: https://github.com/intellij-rust/intellij-rust/pull/9641
[#9649]: https://github.com/intellij-rust/intellij-rust/pull/9649
[#9658]: https://github.com/intellij-rust/intellij-rust/pull/9658
[#9667]: https://github.com/intellij-rust/intellij-rust/pull/9667
[#9689]: https://github.com/intellij-rust/intellij-rust/pull/9689
[#9694]: https://github.com/intellij-rust/intellij-rust/pull/9694
[#9695]: https://github.com/intellij-rust/intellij-rust/pull/9695
[#9698]: https://github.com/intellij-rust/intellij-rust/pull/9698
[#9699]: https://github.com/intellij-rust/intellij-rust/pull/9699
[#9708]: https://github.com/intellij-rust/intellij-rust/pull/9708
[#9714]: https://github.com/intellij-rust/intellij-rust/pull/9714
Binary file added assets/posts/changelog-183/intention_preview.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/posts/changelog-183/intention_preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/posts/changelog-183/intra-docs_links.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/posts/changelog-183/intra-docs_links.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/posts/changelog-183/msvc_lldb_after.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.