flake8 仅在 VS Code 中检查部分文件

flake8 only linting partial file in VS Code

我已经在我的 python 项目中成功设置了 flake8(在根目录中有一个 .flake8 文件),并通过 .vscode/settings.json 文件将它绑定到 VS Code,所以我在正在清理的文件中看到 linter 警告。然而,在第 1000 行,linter 支持突然消失了。第 1000 行之后的所有行都不提供 linter 反馈。

当我从命令行 运行 flake8 /path/to/file 时,我得到了错误的完整列表和它们对应的行号(包括超过 1000 行的一些警告),但是由于某种原因 VS代码似乎无法在 IDE.

中内联报告这些错误

是否缺少某些配置以允许 VS Code 对第 1000 行以外的其余大文件进行 lint?

经过进一步测试,我发现了问题所在。我在 settings.json 文件中使用 blackflake8 作为 vscode,显然,black 遇到了我在文件(大约第 1000 行)。这导致 VS 代码 运行 出现“错误波浪线”的 linter 序列无提示故障。

当 运行 设置预提交挂钩 (pre-commit run -a) 时 运行 所有 3 个 linters (blackiSortflake8),语法错误由 black 报告并很容易修复,但是当 运行 在 VS 代码中“保存”时,它会静默失败并停止报告 [=27= 中的内联错误].

修复了语法错误后,运行宁 flake8 从命令行 returns 预期的 warnings/errors 数量,VS Code 再次显示波浪线错误,对于完整文件,无论长度如何。