【问题标题】:flake8 only linting partial file in VS Codeflake8 仅在 VS Code 中对部分文件进行 linting
【发布时间】:2021-07-14 00:52:11
【问题描述】:

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

当我从命令行运行flake8 /path/to/file 时,我得到了完整的错误列表及其对应的行号(包括第 1000 行之外的一些警告),但由于某种原因,VS Code 似乎无法报告这些IDE 中的内联错误。

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

【问题讨论】:

  • 奇怪!你用的是什么vs代码插件?我建议将此作为错误报告给他们(他们可能正在做一些愚蠢的事情,比如/:[0-9]{1,3}/ 来获取行号)
  • @wdc92 - 你可以在这里提交这个问题:microsoft/vscode-python
  • 感谢 @JillCheng 和 Anthony - 我会考虑在 ms-python's GitHub 页面上发布错误。它似乎在一段时间后自行修复。我一夜之间在 VS Code 中打开了文件,它又可以工作了。但是,重新启动 VS Code 会再次出现问题。我想 linter 只是运行得很慢。

标签: python visual-studio-code flake8 linter


【解决方案1】:

经过进一步测试,我发现了问题所在。我在 vscode 的 settings.json 文件中使用了 blackflake8,显然,black 遇到了我在文件中较高位置(大约第 1000 行)引入的语法错误。这导致 VS 代码正在运行的 linter 序列静默失败,以呈现“错误波浪线”。

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

修复语法错误后,从命令行运行 flake8 会返回预期的警告/错误数量,并且 VS Code 再次显示错误的波浪线,对于完整文件,无论长度如何。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    • 2020-09-23
    • 1970-01-01
    • 2021-05-31
    • 2019-08-21
    • 2021-01-12
    相关资源
    最近更新 更多