我无法在 VSCode 中显示 pylint 错误。我全局安装了 pylint(sudo apt install pylint),我创建了 venv 并用 pip 安装了它,我在 VSCode 中选择 pylint 作为 linter,启用它,运行它,它没有在我的文件中显示任何错误。如果我从命令行检查,它会在我的文件中显示很多错误。
这在早期有效,但现在不适用于使用 snap 安装的 VSCode 版本 1.46.1 和 1.45.1。
Microsoft 和 Jedi python 语言服务器的结果相同。
我在开发人员控制台中找到了 pylint 命令:
~/Documents/work/python/.venv/bin/python ~/.vscode/extensions/ms-python.python-2020.6.89148/pythonFiles/pyvsc-run-isolated.py pylint --disable=all --enable=F,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,unused-wildcard-import,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode,E0001,E0011,E0012,E0100,E0101,E0102,E0103,E0104,E0105,E0107,E0108,E0110,E0111,E0112,E0113,E0114,E0115,E0116,E0117,E0118,E0202,E0203,E0211,E0213,E0236,E0237,E0238,E0239,E0240,E0241,E0301,E0302,E0303,E0401,E0402,E0601,E0602,E0603,E0604,E0611,E0632,E0633,E0701,E0702,E0703,E0704,E0710,E0711,E0712,E1003,E1101,E1102,E1111,E1120,E1121,E1123,E1124,E1125,E1126,E1127,E1128,E1129,E1130,E1131,E1132,E1133,E1134,E1135,E1136,E1137,E1138,E1139,E1200,E1201,E1205,E1206,E1300,E1301,E1302,E1303,E1304,E1305,E1306,E1310,E1700,E1701 --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text ~/Documents/work/python/micro.py
所以pylint确实被执行了!如果我从命令行像这样运行它,输出是:
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)
但是如果我执行 pylint micro.py
我得到:
Your code has been rated at -2.50/10 (previous run: 10.00/10, -12.50)
为什么 VSCode 使用该命令行?我现在在没有 .pylintrc 的情况下进行测试,但即使我有它,VSCode 也没有显示任何错误,只有命令行!但是我又试了一次, 添加了一个 .pylintrc,现在由于某种原因,错误确实出现在编辑器中了!
但这仅适用于 Jedi 服务器,当尝试使用 Microsoft 服务器时,无法使用其命令启用 linting,没有任何反应并且它保持关闭状态。
我的.vscode/settings.json:
{
"python.linting.pylintEnabled": true,
"python.linting.enabled": true,
"python.linting.pylintArgs": [
"--rcfile",
"${workspaceFolder}/backend/.pylintrc"
]
}
原文由 atlau 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 UI 的最简单方法: