Vim ALE 正在处理我正在编辑的旧版本文件

Vim ALE processing an older version of the file I'm editing

我正在使用 VIM 8.1 和 ALE,特别是 rust lint(基本上只是货物)。问题是 ALE 报告的错误和警告来自当前文件的旧版本。编辑和保存文件没有效果,重新启动也没有效果 vim。我试过 :ALEReset,然后 :ALELint,但它只显示相同的 lints。其他工具(如 cargo)可以很好地使用这些文件,并且文件本身似乎没有任何问题。

这是:ALEInfo的输出:

 ALEInfo
 Current Filetype: rust
Available Linters: ['cargo', 'rls', 'rustc']
  Enabled Linters: ['cargo', 'rustc']
 Suggested Fixers:
  'remove_trailing_lines' - Remove all blank lines at the end of a file.
  'rustfmt' - Fix Rust files with Rustfmt.
  'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
 Linter Variables:

let g:ale_rust_cargo_avoid_whole_workspace = 1
let g:ale_rust_cargo_check_all_targets = 0
let g:ale_rust_cargo_check_examples = 0
let g:ale_rust_cargo_check_tests = 1
let g:ale_rust_cargo_clippy_options = ''
let g:ale_rust_cargo_default_feature_behavior = 'default'
let g:ale_rust_cargo_include_features = ''
let g:ale_rust_cargo_use_check = 1
let g:ale_rust_cargo_use_clippy = 0
let g:ale_rust_ignore_error_codes = []
let g:ale_rust_ignore_secondary_spans = 0
let g:ale_rust_rustc_options = '-Z no-codegen'

ALE 是我唯一安装的插件。

如何解决这个问题并再次使用我的 linter 插件?

事实证明,这不是 VIM 或 ALE 问题,而是货物问题。 ALE 使用 cargo check 检查代码而不进行代码生成(它更快并且留下更少的工件),而 cargo build 没有 return 任何错误或警告,cargo check 出于某种原因 returned 来自旧版本项目的警告(不仅仅是文件)。这是用 cargo clean 修复的,然后又是 运行 cargo buildcargo check。因为我 运行 cargo clean,我不再有导致此行为的项目,所以我无法真正深入研究以找出该项目的问题所在。