问题标签 [rust-analyzer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
577 浏览

rust - Rust 类型中的下划线是什么?

我是 Rust 初学者,请多多包涵。

如下图所示,VSCode rust-analyzer插入了一个带有下划线“_”的类型。它是什么?

具有类型注释的相同代码 [i32;  _] 由 VSCode 自动插入

0 投票
0 回答
82 浏览

visual-studio-code - 如何在 rust-analyzer 提供的结构建议中隐藏非静态方法?

我正在使用 rust-analyzer 0.3.193-nightly 和 VSCode 1.45.1,Windows 10 x64。

在结构上,当我键入时::,我只想查看静态方法。非静态方法也出现在建议列表中。

在下面的示例中,我希望看到calc_num出现在建议中,因为它是一种非静态方法:

显示建议的 VSCode 编辑器

在上面的示例中,有没有办法隐藏calc_num建议?我搜索了 rust-analyzer 选项,但一无所获。

0 投票
0 回答
158 浏览

rust - 为什么 Rust Analyzer 不同意编译器?

我正在使用最新的稳定版本:rustc 1.46.0 (04488afe3 2020-08-24)。

Rust Analyzer 需要导入:

为了接受表达式:

(它突出显示.ymdas {unknown}。)

如果我添加导入,编译器会发出警告:

如何让 Rust 分析器(在 vscode 中)和编译器都满意?


更新:

正如 rodrigo 正确推断的那样,唯一的用途.ymd是在一个 #[cfg(test)]部分内。

0 投票
3 回答
5245 浏览

visual-studio-code - rust-analyzer 错误“无法解析宏 `$crate::format_args`”是什么意思,我该如何解决?

我在 Visual Studio Code 上使用 rust-analyzer 版本 0.2.408。

我正在编写一个命令行应用程序,涉及在终端中居中文本。这是我为此编写的函数:

此功能运行良好,并且没有错误。然后我写了一个测试:

该代码仍然可以正常工作。两者都cargo run可以cargo test工作,该函数通过了测试,并且cargo check没有返回任何问题。但是 rust-analyzer 给出了一个错误,突出显示了从tr};语句use中到p右侧的所有内容return:“could not resolve macro $crate::format_argsrust-analyzer(macro-error)”。搜索此错误不会返回任何内容。VSCode 将我链接到rust-analyzer 用户手册,其中仅显示“此诊断显示为宏扩展错误”。重新启动 VSCode 并重新安装 rust-analyzer 什么也没做。错误总是回来,并突出显示相同的奇怪特定区域。我发现在安装 rust-analyzer 的同时摆脱它的唯一方法是删除测试。

从错误如何与宏扩展有关,以及删除测试如何解决问题来看,我想这是由#[test]宏引起的,但奇怪的是 rustc 发现我的代码根本没有问题,而 rust-analyzer 吓坏了这个错误。到目前为止,我使用 rust-analyzer 的体验比使用官方 Rust VSCode 扩展更好,但我正处于切换回解决这个问题的边缘。

0 投票
2 回答
1181 浏览

windows - 无法激活 rust-analyzer:引导错误

从 2020-12-09 开始,VSCode 的 Rust Analyzer 扩展不再为我加载。启动时,它会打印出以下错误消息:

无法激活 rust-analyzer:引导错误。查看“OUTPUT > Rust Analyzer Client”中的日志(应该会自动打开)。要启用详细日志,请使用 { "rust-analyzer.trace.extension": true }

启用扩展跟踪会在失败之前产生以下诊断:

<user>我用来登录系统的用户帐户的名称在哪里1

status错误诊断 (3221225506) 中报告的值转换为 0xC0000022 ( STATUS_ACCESS_DENIED)。从 VSCode 的集成终端中导航到二进制文件并尝试执行rust-analyzer-windows.exe --version不会产生任何输出,这似乎恢复了从 VSCode 运行此可执行文件被某种方式阻止。

从 VSCode 中执行服务器二进制文件的访问权限似乎发生了一些变化。在 Rust Analyzer 工作和 Rust Analyzer 不再工作之间,我没有更新 Rust、rustup、VSCode 或任何扩展。

不过,我确实为基于 x64 的系统的 Windows 10 版本 20H2 (KB4592438) 安装了 2020-12 累积更新,并且 Rust Analyzer 开始失败的时间与安装更新的时间一致。这可能只是一个巧合。

我可以采取哪些其他步骤来解决问题的根本原因,以及如何让 Rust Analyzer 再次工作?


版本信息:

  • Rust 分析器(稳定):v0.2.408
  • Windows 10 专业版:版本 10.0.19042 内部版本 19042
  • VSCode:1.51.1(用户设置)

1 这也是运行 VSCode 的用户帐户,包括其所有衍生的进程。从在此帐户下运行的命令提示符导航到该路径会显示存在rust-analyzer-windows.exe ,并且执行rust-analyzer-windows.exe --version会按预期打印版本标识符。

0 投票
1 回答
1732 浏览

visual-studio-code - 如何在 VSCode 中使用 rust-analyzer 键入时启用实时 linting?

我在 VSCode 中有 rust-analyzer 扩展。

在设置中,我只Rust-analyzer › Check On Save: Command从更改checkclippy(这无关紧要)。

问题是我在输入时没有看到错误,只有在我保存之后。

输入(无错误):

打字

已保存(可以看到错误):

已保存

可以改变吗?

0 投票
2 回答
2962 浏览

visual-studio-code - 如何获取要显示的类型提示?

我已经看到 youtubers 和这样的人在 VSC 中使用 rust-analyzer 插件在 Rust 上工作,他们可以在其中显示可选的类型注释,即使它不一定写在代码中。就像我foo(a,b)在编辑器中输入,它会自动显示和淡灰色foo(a: A, b :B)的位置,甚至可能没有写在文件中,只是视觉提示?很好,我不知道这是 VSC 还是 rust-analyzer 的功能?我的 rust-analyzer 有两个设置 Parameter Hints 和 TypeHints 都设置为启用。:A:B

0 投票
2 回答
117 浏览

visual-studio-code - 如何隐藏 rust-analyzer 自动完成的关键字?

我在 Windows 10 上的 VS Code 1.57.1​​(也是最新的)上使用 rust-analyzer 0.2.654(最新)。

自动完成显示所有关键字,如下图:

截屏

如何隐藏关键字,只显示实际的结构成员?

0 投票
1 回答
39 浏览

vim - coc.nvim: 'self', numbers([0-9]) 和字符串不显示在 CocAction(doHover) show_documentation(?)

coc.nvim:单词'self',数字([0-9])以及字符串不显示在CocAction(doHover)中;以附件图像为例。coc.nvimrust 分析器提供的文档中的参数和参数就是这种情况。

当我突出显示并复制文本时,它们会出现。我认为这是它们与背景颜色相同的问题。

请帮忙在此处输入图像描述

0 投票
2 回答
112 浏览

rust - 在适当的情况下自动转换所有标识符

例如,

前 6 行由我使用rust-analyzer代码操作手动转换为每一行。

但是你可以猜到这个列表很长,我正在寻找一种方法来完成所有这些工作。就像在构建它时警告我转换它一样。

我也想转换它。有没有办法做到这一点?任何帮助表示赞赏。