Python 如何在vs代码中禁用pylint未使用的导入错误消息
如何禁止这些错误消息在vs代码的问题框中弹出 在VS代码设置中(Python 如何在vs代码中禁用pylint未使用的导入错误消息,python,visual-studio-code,pylint,Python,Visual Studio Code,Pylint,如何禁止这些错误消息在vs代码的问题框中弹出 在VS代码设置中(CTRL+逗号) 欲了解更多想法: 您还可以按消息类型禁用,例如,--disable=W 一个很好的参考是,有一个消息ID和消息类型的列表。正如其他人所说,您可以提供一个disable参数来禁用特定消息。我想详细说明一下 以下是禁用多条消息和提供多个参数的语法,我在谷歌搜索时没有立即发现: "python.linting.pylintArgs": [ "--max-line-length=80", "--disabl
CTRL+逗号
)
欲了解更多想法:
您还可以按消息类型禁用,例如,--disable=W
一个很好的参考是,有一个消息ID和消息类型的列表。正如其他人所说,您可以提供一个disable参数来禁用特定消息。我想详细说明一下
"python.linting.pylintArgs": [
"--max-line-length=80",
"--disable=W0142,W0403,W0613,W0232,R0903,R0913,C0103,R0914,C0304,F0401,W0402,E1101,W0614,C0111,C0301"
]
- 启用所有错误(E)和致命(F)消息
- 禁用所有约定(C)和重构(R)消息李>
- 禁用所有警告(W)消息,但以下消息除外:
- 不可访问(W0101):不可访问代码
- 重复键(W0109):字典中的重复键%r
- 不必要分号(W0301):不必要分号
- 全局变量未赋值(W0602):对%r使用全局变量,但未完成赋值
- 未使用的变量(W0612):未使用的变量%r
- 二进制操作异常(W0711):要捕获的异常是二进制“%s”操作的结果
- 错误格式字符串(W1302):无效格式字符串
- 字符串中的异常反斜杠(W1401):字符串中的异常反斜杠
- 错误的打开模式(W1501):“%s”不是打开的有效模式
python.linting.myImalCheckers
设置为true
(默认值)。
如果在pylintArgs
中指定值或使用Pylint配置
文件(请参阅下一节),然后将
隐式设置为false
换句话说,在VS代码中,PyLint默认情况下相当松散,只显示错误消息和一些精选的警告。但是当您手动将pylintArgs
设置为某个值时,pylintUseMinimalCheckers
将被忽略,从而打开所有消息的闸门。这可能就是为什么禁用一条消息会导致显示更多消息的方式。再说一次,我不知道为什么您首先会看到未使用的导入消息,因为根据文档,默认情况下它应该被抑制python.linting.pylintUseMinimalCheckers”:true
(对于我来说,在这个特定的时刻,但希望它对你很好,未来的读者).为了获得相同的效果,我必须手动将pylintArgs
设置为它应该自动设置的值:
"python.linting.pylintArgs": [
"--disable=all",
"--enable=F,E,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode"
]
对于simple test.py,我没有修改设置,而是只应用于我使用的那个文件 #pylint:disable=W0614 将这一行放在文件顶部,pylint会自动识别它 这消除了100个未使用的导入警告 你可以继续这样禁用
# pylint: disable=missing-module-docstring
# pylint: disable=missing-class-docstring
# pylint: disable=missing-function-docstring
# pylint: disable=wildcard-import
# pylint: disable=W0614
将下面的内容添加到文件顶部的行将删除错误…如果是,请确保程序中的行重复删除它
# pylint: disable=unused-wildcard-import, method-hidden
# pylint: enable=too-many-lines
参考资料:不要使用通配符导入,
从x导入*
可能会导致难以检测的问题。最好只导入x,然后使用x.Name
。如果x
非常大,则使用as
缩短它,例如导入numpy as np
。如果对象数量有限,则导入它们明确地说,例如,从x导入A、B、C的,它似乎不起作用。我现在看到500多个以前没有看到的警告。我认为它禁用了所有其他参数。请注意,pylinArgs以前是空的。链接已失效。这里有一个替代方案:它似乎不再起作用。我现在看到500多个以前没有看到的警告。我认为它禁用了s所有其他参数。请注意,pylinArgs以前是空的。我认为这应该是可以接受的答案。您不仅给出了禁用警告和错误消息的答案,还给出了禁用后他们可能会看到500多条消息的原因。此处提供了完整的代码列表:。请尝试放置python.linting.PylIntuiSeminimalcheckers“:在您的应用程序中的自定义pylint设置后为true
json@nonein文件名为“settings.json”。要打开它,请转到文件>首选项>设置,并单击右上角的按钮,当您将鼠标悬停在该文件上时,该按钮会显示“打开设置(json)”。
"python.linting.pylintArgs": [
"--disable=all",
"--enable=F,E,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode"
]
# Disabled messages
# Pointless
# W0142 = *args and **kwargs support
# W0403 = Relative imports
# W0613 = Unused argument
# W0232 = Class has no __init__ method
# R0903 = Too few public methods
# R0913 = Too many arguments
# C0103 = Invalid name
# R0914 = Too many local variables
# C0304 = Final newline missing
#
# PyLint's module importation is unreliable
# F0401 = Unable to import module
# W0402 = Uses of a deprecated module
# E1101 = Module x has no y member
#
# Already an error when wildcard imports are used
# W0614 = Unused import from wildcard
#
# Stricter messages that can be disabled until everything else has been fixed
# C0111 = Missing docstring
# C0301 = Line too long
# pylint: disable=missing-module-docstring
# pylint: disable=missing-class-docstring
# pylint: disable=missing-function-docstring
# pylint: disable=wildcard-import
# pylint: disable=W0614
# pylint: disable=unused-wildcard-import, method-hidden
# pylint: enable=too-many-lines