如何让 flake8 可靠地忽略 VS Code 中的规则?
How do I get flake8 to reliably ignore rules in VS Code?
有两件事让我很烦恼。首先是当我在一行中键入超过 80 个字符时 Flake8 给我的警告。其次是当我还没有使用我导入的模块名称时收到的警告。我查看了有关在终端中使用 Flake8 的所有文档。没用。
flake8 --ignore=E402
flake8 --max-line-length=120
这行不通。至少VS Code没有显示任何效果。
将您的参数添加到您的用户设置 json 文件中,如下所示:
"python.linting.flake8Args": [
"--max-line-length=120",
"--ignore=E402,F841,F401,E302,E305",
],
注意 flake8 使用
"python.linting.flake8Args": [
而黑色似乎使用:
"python.formatting.blackArgs": [
如果您同时使用(或切换)这些设置可能会有帮助:
{
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.linting.enabled": true,
"python.formatting.provider": "black",
"python.formatting.blackArgs": [
"--line-length",
"120"
],
"python.linting.flake8Args": [
"--max-line-length=120",
"--ignore=E402",
],
"python.pythonPath": "venv/bin/python"
}
我最近 运行 遇到了这个问题。我 运行 遇到了问题,因为我将参数设置为 --config flake8.cfg
而不是 --config=flake8.cfg
。在幕后,vscode 将 CLI 参数放在引号中。将 "--config flake8.cfg"
添加到 flake8 命令似乎会使 flake8 混淆,认为它正在查看文件路径而不是 CLI 参数。
我的解决方案是将 args 设置为 --config=flake8.cfg
(使用等号)或将 args 设置为数组中的单独项目:
"python.linting.flake8Args": [
"--config",
"flake8.cfg"
]
提出的解决方案很棒,毫无疑问是专门针对原始问题编写的。
从更一般的角度来看,我建议不要使用这种技巧
如果您从事的项目具有专用配置文件。
你肯定会 运行 陷入无法理解的配置冲突
并且可能会忽略项目有意强制执行的规则。
在这种情况下,您应该改用以下内容:
assuming the file is named .flake8 and is present at the project's root folder
// .vscode/settings.json
"python.linting.flake8Args": ["--config", ".flake8"],
有两件事让我很烦恼。首先是当我在一行中键入超过 80 个字符时 Flake8 给我的警告。其次是当我还没有使用我导入的模块名称时收到的警告。我查看了有关在终端中使用 Flake8 的所有文档。没用。
flake8 --ignore=E402
flake8 --max-line-length=120
这行不通。至少VS Code没有显示任何效果。
将您的参数添加到您的用户设置 json 文件中,如下所示:
"python.linting.flake8Args": [
"--max-line-length=120",
"--ignore=E402,F841,F401,E302,E305",
],
注意 flake8 使用
"python.linting.flake8Args": [
而黑色似乎使用:
"python.formatting.blackArgs": [
如果您同时使用(或切换)这些设置可能会有帮助:
{
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.linting.enabled": true,
"python.formatting.provider": "black",
"python.formatting.blackArgs": [
"--line-length",
"120"
],
"python.linting.flake8Args": [
"--max-line-length=120",
"--ignore=E402",
],
"python.pythonPath": "venv/bin/python"
}
我最近 运行 遇到了这个问题。我 运行 遇到了问题,因为我将参数设置为 --config flake8.cfg
而不是 --config=flake8.cfg
。在幕后,vscode 将 CLI 参数放在引号中。将 "--config flake8.cfg"
添加到 flake8 命令似乎会使 flake8 混淆,认为它正在查看文件路径而不是 CLI 参数。
我的解决方案是将 args 设置为 --config=flake8.cfg
(使用等号)或将 args 设置为数组中的单独项目:
"python.linting.flake8Args": [
"--config",
"flake8.cfg"
]
从更一般的角度来看,我建议不要使用这种技巧 如果您从事的项目具有专用配置文件。
你肯定会 运行 陷入无法理解的配置冲突 并且可能会忽略项目有意强制执行的规则。
在这种情况下,您应该改用以下内容:
assuming the file is named .flake8 and is present at the project's root folder
// .vscode/settings.json
"python.linting.flake8Args": ["--config", ".flake8"],