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 build
和 cargo check
。因为我 运行 cargo clean
,我不再有导致此行为的项目,所以我无法真正深入研究以找出该项目的问题所在。
我正在使用 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 build
和 cargo check
。因为我 运行 cargo clean
,我不再有导致此行为的项目,所以我无法真正深入研究以找出该项目的问题所在。