Rust编程2026-02-27 01:00

在索引后,rust-analyzer 的诊断信息消失。

rustfan
rustfan
作者

rust-analyzer 的诊断信息消失

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

GIF:

运行 rust analyzer
在 clippy 之后:
在 clippy 之后
在索引之后:
在索引之后

如何操作

基本上:

  • 直接从 GitHub 页面安装 rust-analyzer (版本 2026-02-24)
  • 创建一个新的项目
    • cargo new myproject
    • 添加一个会显示警告的代码
      • let unused_var = 0;
    • 使用最小配置运行 nvim
      • nvim -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

评论 (0)

登录后评论

立即登录

加载评论中...