所以我正在使用pgzero库来教孩子们编程。有了pgzero,你就有了这个screen对象,你可以在上面画图。据我所知,你不能从任何地方导入它,它只是在全局范围内。不幸的是,Pylint不知道这一点,每次我使用screen对象时,我都会收到未定义的变量错误(运行代码运行得很好,但每次我使用它时,vscode都会在屏幕下显示红线)。
在尝试教学时,这并不是很有帮助,而且可能会相当分散注意力。我不想完全禁用pylint错误,因为它们在大多数情况下非常有用,对于新手来说也是一个很好的工具。
有没有办法在全局作用域中声明变量?类似于typescript的东西会更好:
declare screen其他的解决方法可能是禁用这个变量的错误,或者如果有人熟悉pgzero:一些从导入对象的方法。就目前而言,我也无法在对象上获得任何智能感知,但这并不是世界末日(这方面的解决方案将是有用的)。
发布于 2020-10-12 02:12:40
我自己也遇到了这个问题,于是我找到了一个解决方案,people had this problem with pylint in another setting。
按control+shift+P调出vscode搜索栏,输入'Open workspace settings (JSON)‘。选择此选项,然后将JSON文件设置为以下值:
{
"python.linting.pylintArgs": [
"--additional-builtins=screen,mouse,keys"
]
}然后保存JSON文件。
这告诉pylint接受以逗号分隔的名称作为python内置的单词。如果其他名称出现此问题,请将其添加到此列表中。
https://stackoverflow.com/questions/62473754
复制相似问题