问题标签 [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.
rust - 为什么 Rust Analyzer 不同意编译器?
我正在使用最新的稳定版本:rustc 1.46.0 (04488afe3 2020-08-24)。
Rust Analyzer 需要导入:
为了接受表达式:
(它突出显示.ymd
as {unknown}
。)
如果我添加导入,编译器会发出警告:
如何让 Rust 分析器(在 vscode 中)和编译器都满意?
更新:
正如 rodrigo 正确推断的那样,唯一的用途.ymd
是在一个 #[cfg(test)]
部分内。
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_args
rust-analyzer(macro-error)”。搜索此错误不会返回任何内容。VSCode 将我链接到rust-analyzer 用户手册,其中仅显示“此诊断显示为宏扩展错误”。重新启动 VSCode 并重新安装 rust-analyzer 什么也没做。错误总是回来,并突出显示相同的奇怪特定区域。我发现在安装 rust-analyzer 的同时摆脱它的唯一方法是删除测试。
从错误如何与宏扩展有关,以及删除测试如何解决问题来看,我想这是由#[test]
宏引起的,但奇怪的是 rustc 发现我的代码根本没有问题,而 rust-analyzer 吓坏了这个错误。到目前为止,我使用 rust-analyzer 的体验比使用官方 Rust VSCode 扩展更好,但我正处于切换回解决这个问题的边缘。
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
会按预期打印版本标识符。
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
visual-studio-code - 如何隐藏 rust-analyzer 自动完成的关键字?
我在 Windows 10 上的 VS Code 1.57.1(也是最新的)上使用 rust-analyzer 0.2.654(最新)。
自动完成显示所有关键字,如下图:
如何隐藏关键字,只显示实际的结构成员?
vim - coc.nvim: 'self', numbers([0-9]) 和字符串不显示在 CocAction(doHover) show_documentation(?)
coc.nvim:单词'self',数字([0-9])以及字符串不显示在CocAction(doHover)中;以附件图像为例。coc.nvim
rust 分析器提供的文档中的参数和参数就是这种情况。
当我突出显示并复制文本时,它们会出现。我认为这是它们与背景颜色相同的问题。
请帮忙
rust - 在适当的情况下自动转换所有标识符
例如,
前 6 行由我使用rust-analyzer
代码操作手动转换为每一行。
但是你可以猜到这个列表很长,我正在寻找一种方法来完成所有这些工作。就像在构建它时警告我转换它一样。
我也想转换它。有没有办法做到这一点?任何帮助表示赞赏。