【问题标题】:VS Code has issues with PylintVS Code 与 Pylint 存在问题
【发布时间】:2020-11-30 09:28:47
【问题描述】:

我的环境:Mac、Python 3.9、venv。

这是我要 lint 的文件(编辑器没有显示 linting)。

import pandas as pd

df = pd.DataFrame()
fc = 1

在命令行中运行 linter 会返回预期的结果:

我已经检查了各种 SO 条目并应用了以下建议的解决方案

  1. 在 vscode 中我启用了 linting,选择 pylint 作为 linter 并运行

  2. 我禁用了最小检查器。我的 .vscode/settings.json:

    {
    "python.linting.pylintUseMinimalCheckers": false,
    "python.linting.enabled": true,
    "python.linting.pylintEnabled": true,
    "python.pythonPath": "venv/bin/python"
    }
    
  3. pylint --generate-rcfile -encoding utf8 > ~/.pylintrc创建了一个.pylintrc

知道如何解决这个问题吗?

【问题讨论】:

  • 你能检查输出控制台选项卡吗?各种插件在那里发布错误消息。有多个子控制台,因此您可能需要稍微摸索一下。
  • 检查了所有选项卡,没有 linting 相关的输出。只需[INFO 11:50:55.902] autoDocstring was activated

标签: python visual-studio-code pylint


【解决方案1】:

根据您的描述,建议您检查以下两个文件:

  1. 请检查设置文件“settings.json”是否包含"python.linting.pylintArgs": [],相关设置。

    除了你提供的“.vscode/settings.json”之外,我们还要注意检查全局设置“User/settings.json”是否包含上述设置,如果设置了内容会关闭Pylint信息。

    例如:"python.linting.pylintArgs":[ "----extension-pkg-whitelist=1xml" ] 这已经关闭了内容,​​所以它会关闭 Pylint 信息。请将此设置注释掉。

  2. 由于您创建了文件“.pylintrc”,请检查文件是否包含like

disable=
     C0114, # missing-module-docstring
     C0103, # invalid-name"

相关设置,它将关闭特定的 Pylint 通知。

效果:

我的“.vscode/settings.json”的内容和你的基本一样。以下是我的“User/settings.json”的内容:

{
  
  "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
  "workbench.iconTheme": "vscode-icons",
  "files.autoSave": "afterDelay",
  "files.autoSaveDelay": 1000,
  "python.linting.enabled": true, 
  "python.languageServer": "Microsoft",
  
       
}

【讨论】:

  • "python.linting.pylintArgs": [] 添加到.vscode/settings.json 解决了这个问题。非常感谢您的宝贵提示
  • 我还检查了我的用户settings.json,我在其中找到了"python.linting.pylintArgs": [ "--rcfile", "${workspaceFolder}/backend/.pylintrc" ]。显然这导致了这个问题。我可以安全地删除括号内的内容吗?
  • @zinyosrim - 是的,这正是我的回答 (1.) 中所建议的。请注释掉这个设置。如果设置了内容会关闭Pylint信息,如果该设置的内容为空也可以使用。
【解决方案2】:

我看到你在配置文件中禁用了Minimal checkers,但它适用于我的 VScode GUI 支持,所以让我们试一试:

配置 - 当我使用 pylint 作为 Linter 并且 Minimal checkers 被禁用时:

结果 - 小写的全局变量正在生成一条消息。

注意:请确保您使用 Pylint 作为 linter(如附加的第一张图片中所示)。

【讨论】:

  • 我的 GUI 设置和你的一样
  • 你能检查一下你是否看到任何输出选项卡吗?听起来对于问题作者来说,插件没有以某种方式被激活或没有运行。
  • 我的输出显示了 pylint 命令和输出,但不知何故它没有在作者环境中运行。 ://
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
  • 2021-03-24
  • 1970-01-01
  • 2020-03-08
  • 1970-01-01
相关资源
最近更新 更多