VS代码忽略pylint的设置



我试图从VS代码中禁用某些pylint警告,但我所做的似乎都不起作用。我在所有3个可能的位置(用户、远程、工作区(都设置了相同的设置,但pylint输出窗口中显示的命令行没有反映出来。我已经尝试重新启动、禁用/启用扩展。我正在使用远程资源管理器从我的Window VSCode到Linux服务器。我几乎已经完成了所有其他工作,包括远程调试。我正在虚拟环境中运行python。但我无法排除所有的错误/警告。这是我正在尝试的设置:

"python.linting.pylintArgs": [
"--disable=C0103,C0303"
],

这就是pylint窗口显示的内容:

/home/mlakata/e2e_ve/bin/python -m pylint --reports=n --output-format=json --from-stdin /home/mlakata/file1/file1.py
CWD Linter: /home/mlakata
file:///home/mlakata/File1/File1.py :
[
{
"type": "convention",
"module": "File1",
"obj": "",
"line": 19,
"column": 47,
"endLine": null,
"endColumn": null,
"path": "File1/File1.py",
"symbol": "trailing-whitespace",
"message": "Trailing whitespace",
"message-id": "C0303"
},
... several hundred more warnings ...

Pylint的行为相当不直观,它从哪里获取配置。

有两件事需要牢记:

  1. IDE通常从子目录(即,从直接包含要linted的python文件的目录(运行pylint
  2. 如果从子目录运行pylint,这通常会更改正在使用的配置文件,因为pylint使用了奇怪的优先级顺序(如这里所述(

因此,我认为有三个主要的问题:

  • Gotcha 1:pyproject.tomlsetup.cfg在从子目录运行pylint时根本不受尊重。

  • Gotcha 2:另一方面,如果当前工作目录是python包,则上层目录中的pylintrc.pylintrc将受到尊重。

  • Gotcha 3:用户主页或配置目录中的一些早已被遗忘的pylintrc.pylintrc文件可能在您不知情的情况下运行该节目。

要解决与您类似的任何问题,使用--verbose标志运行pylint可能非常有帮助,因为这样它就会告诉您它从哪里获取配置。

最新更新