微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VS Code 的 flake8 的忽略参数在保存时对格式不起作用?

如何解决VS Code 的 flake8 的忽略参数在保存时对格式不起作用?

这是我的 settings.json:

{
    "python.pythonPath": "/home/zhaodachuan/anaconda3/envs/ranking_engine/bin/python","python.autoComplete.extraPaths": [
        "/mnt/c/Users/hnjyz/OneDrive/jupyter_lab/code/ranking_engine",],"python.linting.pylintEnabled": false,"python.linting.enabled": true,"python.linting.Flake8Enabled": true,"python.linting.Flake8Args": [
        "--max-line-length=120","--ignore=E402,F401",}

但是当我在 VS Code 中打开 Flake8 时,--ignore format on save 不起作用。

我该怎么办?

解决方法

Flake8 不是格式化程序,它是一个短绒

当然是one of the supported linters of VS Code's Python extension,但不会影响设置editor.formatOnSave,也不会被Format Document命令触发。如果配置正确,它应该会自动运行并检查您的文件是否存在可能的问题,然后在“问题”选项卡上显示它们:

sample Flake8

如果我添加:

    "python.linting.flake8Args": [
        "--ignore=F401"
    ],

那么之前显示的 F401 错误应该会消失:

sample Flake8 with ignore

您似乎在寻找格式化程序。请参阅 Python 上的 VS Code 文档的格式部分:https://code.visualstudio.com/docs/python/editing#_formatting

通过应用格式化使代码更容易被人类阅读 行间距、缩进、间距的特定规则和约定 围绕运算符等(参见 autopep8 页面上的示例)。 格式化不会影响代码本身的功能。 (另一方面,Linting 分析代码的常见语法, 风格和功能错误以及非常规编程 可能导致错误的做法。虽然有一点重叠 在格式化和 linting 之间,这两个功能是 互补。)

Python 扩展支持使用以下任一方式进行源代码格式化 autopep8(默认值)、blackyapf

安装选定的格式化程序之一,并启用 formatOnSave

    "[python]": {
        "editor.formatOnSave": true
    },"python.formatting.provider": "yapf","python.formatting.yapfPath": "/usr/local/bin/yapf","python.formatting.yapfArgs": [
        "--style=/path/to/setup.cfg"
    ],

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。