如何在 VSCode 中启用 Pylint?

atl*_*lau 8 python pylint visual-studio-code

我无法在 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 
Run Code Online (Sandbox Code Playgroud)

所以pylint确实被执行了!如果我从命令行像这样运行它,输出是:

Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)
Run Code Online (Sandbox Code Playgroud)

但如果我执行pylint micro.py我得到:

Your code has been rated at -2.50/10 (previous run: 10.00/10, -12.50)
Run Code Online (Sandbox Code Playgroud)

为什么 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"
    ]
}
Run Code Online (Sandbox Code Playgroud)

Tar*_*mar 27

使用 UI 的最简单方法:

  1. Ctrl + Shift + P进入命令面板
  2. 输入棉绒

在此输入图像描述

  1. 选择Python:启用/禁用 Linting ”,单击“启用”
  2. 重复步骤1和2,现在选择Python:选择Linter ”,从选项中选择pylint

在此输入图像描述

  1. 上述步骤将在.vscode 目录下的settings.json中添加以下行

在此输入图像描述

  • 我没有“Lint”选项,也没有“Python:选择 Linter”,正如[此处](https://code.visualstudio.com/docs/python/linting)所说,知道为什么吗? (5认同)
  • 确保 VS Code 中安装了 python 扩展。链接:https://marketplace.visualstudio.com/items?itemName=ms-python.python (3认同)

Emr*_*lün 9

截至 2022 年 3 月,VS Code 团队开发了新的 Pylint 扩展。您可以直接安装并使用它。 https://marketplace.visualstudio.com/items?itemName=ms-python.pylint


Yan*_*res 7

正如这篇文章所示,目前已修复此问题:https://github.com/microsoft/vscode-python/issues/12285#issuecomment-649350148

我的 .vscode/settings.json:

{
    "python.linting.enabled": true,
    "python.linting.pylintEnabled": true,
    "python.languageServer": "Microsoft"
}
Run Code Online (Sandbox Code Playgroud)

它应该可以在 Jedi 和 Microsoft 服务器上运行。干杯!

  • 这些设置现已弃用,所有以 `python.linting` 开头的设置现已弃用。请参阅此处了解更多信息 https://code.visualstudio.com/docs/python/linting (2认同)

Ang*_*Tay -2

也许一种可能的解决方案是从terminal/启动 VS Code cmd

\n\n

这些步骤使您能够从终端 (macOS)、从VS code 站点启动 VS Code 。

\n\n

安装:

\n\n
    \n
  1. 下载适用于 macOS 的 Visual Studio Code。
  2. \n
  3. 打开浏览器的下载列表并找到下载的存档。
  4. \n
  5. 选择“放大镜”图标以在 Finder 中打开存档。
  6. \n
  7. 将 Visual Studio Code.app 拖到“应用程序”文件夹,使其在 macOS 启动板中可用。
  8. \n
  9. 通过右键单击图标打开上下文菜单并选择“选项”、“保留在 Dock 中”,将 VS Code 添加到 Dock。
  10. \n
\n\n

从命令行启动:

\n\n
    \n
  1. 启动 VS 代码。
  2. \n
  3. 打开命令面板 (\xe2\x87\xa7\xe2\x8c\x98P) 并键入shell command以查找Shell Command: Install \'code\' command in PATH命令。
  4. \n
  5. 重新启动终端以使新$PATH值生效。您将能够输入code .任何文件夹以开始编辑该文件夹中的文件。
  6. \n
\n\n

从命令行启动 VS Code venv

\n\n
    \n
  1. 在终端/命令行中激活venv,就我而言,我使用source activate venv
  2. \n
  3. 激活后启动 VS Code ,在所需目录中venv使用。code .
  4. \n
\n\n

对于WindowsLinux,设置路径的步骤可以在链接中找到。

\n