【问题标题】:How do I enable Pylint in VSCode?如何在 VSCode 中启用 Pylint?
【发布时间】:2020-10-09 21:08:53
【问题描述】:

我无法在 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"
    ]
}

【问题讨论】:

  • 你有没有试过在Mac上做ctrl+shift+p我猜cmd+shift+p然后写select linter。它应该向您显示已安装的 linter 列表,如果未安装 pylint,您可以使用 pip pip install pylint 或 conda conda install -c anaconda pylint
  • 我已经使用了这些命令:选择 linter,启用 linter,运行 linter,但没有任何反应。
  • 您是否检查过您的设置,例如ctrl+shift+p 设置(json)和(ui),看看是否一切都配置正常
  • 您可以尝试在您的settings.json 文件中添加"python.linting.pylintEnabled": true
  • 是的,我在 settings.json 中有这个,并且 "python.linting.pylintEnabled": true,

标签: python visual-studio-code pylint


【解决方案1】:

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

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

安装:

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

从命令行启动:

  1. 启动 VS 代码。
  2. 打开命令面板 (⇧⌘P) 并输入 shell command 以找到 Shell Command: Install 'code' command in PATH 命令。
  3. 重新启动终端以使新的$PATH 值生效。您可以在任何文件夹中输入 code . 以开始编辑该文件夹中的文件。

venv的命令行启动VS Code:

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

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

【讨论】:

  • 不,这没有任何区别。
【解决方案2】:

我遇到了同样的问题,但在为 VS 代码安装 cornflakes-linter 后解决了。

【讨论】:

  • 这是一个不同的 linter,不过
【解决方案3】:

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

我的 .vscode/settings.json:

{
    "python.linting.enabled": true,
    "python.linting.pylintEnabled": true,
    "python.languageServer": "Microsoft"
}

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

【讨论】:

    【解决方案4】:

    使用 UI 的最简单方法:

    1. Ctrl + Shift + P获取命令面板
    2. 输入Lint

    1. 选择Python : Enable/Disable Linting”,点击“启用”
    2. 重复第 1 步和第 2 步,现在选择Python : Select Linter”,从选项中选择 pylint

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

    【讨论】:

      猜你喜欢
      • 2019-04-17
      • 1970-01-01
      • 2022-12-28
      • 2021-07-17
      • 2021-02-11
      • 1970-01-01
      • 2018-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多