Rust编程2026-02-27 01:00
在索引后,rust-analyzer 的诊断信息消失。
rustfan
作者
rust-analyzer 的诊断信息消失
cargo clippy 显示的诊断信息,但随后又消失或改变。
当我重启 rust-analyzer 时,clippy 会完成,我会看到详细的诊断信息(这是好的)。
在索引完成后,只显示少量诊断信息,并且信息更少。
在这个例子中,在 clippy 完成后,会显示未使用的导入和未使用的变量。
然后,它们消失,我只看到“未使用的变量”在“索引”完成后。
(有时所有诊断信息都会消失)
我希望能够看到 clippy 的诊断信息,而无需它消失或改变。
是否有办法配置 nvim/rustaceanvim/rust-analyzer 等,以便显示 clippy 的诊断信息?
这是否是 rustaceanvim、rust-analyzer 或其他软件中的一个 bug?
GIF:

在
clippy 之后:

在索引之后:

如何操作
基本上:
- 直接从 GitHub 页面安装
rust-analyzer(版本 2026-02-24) - 创建一个新的项目
cargo new myproject- 添加一个会显示警告的代码
let unused_var = 0;
- 使用最小配置运行
nvimnvim -u minimal.lua src/main.rs
- 重启
rustanalyzer:RustAnalyzer restart
我使用的是 rustaceanvim 的最小配置(经过一些修改,使其能够正常工作)。
-- minimal.lua
-- 来自 rustaceanvim 的修改过的 nvim 配置
-- 参见:https://github.com/mrcjkb/rustaceanvim/blob/master/troubleshooting/minimal.lua
-- 启用诊断
-- 在右下角显示 lsp 状态
-- 添加 rustanalyzer 设置
vim.diagnostic.config({
virtual_text = true, -- 显示行内消息
signs = true, -- 在行间显示标志
underline = true, -- 突出显示问题区域的文本
update_in_insert = false, -- 在输入时不更新诊断信息
severity_sort = true, -- 按严重程度排序诊断信息
})
34