Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 如何让某些pygame模块在VSC中工作?其他修复不起作用_Visual Studio Code_Pygame_Pylint - Fatal编程技术网

Visual studio code 如何让某些pygame模块在VSC中工作?其他修复不起作用

Visual studio code 如何让某些pygame模块在VSC中工作?其他修复不起作用,visual-studio-code,pygame,pylint,Visual Studio Code,Pygame,Pylint,我现在在使用最新的python和vsCode时遇到了麻烦。对于我使用的不同pygame函数,我不断得到“模块pygame没有空白成员Pylint no member”。K_a、K_s、K_d、K_f和这些控件在游戏中运行良好,但像QUIT和KEYDOWN以及LCTRL和RCTRL这样的控件会使游戏崩溃。VSC表示,pygame模块没有任何成员,即使是有效的成员。但当我尝试LCRTL或类似方法时,它崩溃了 我的理解是,这是一个安全功能,Pylint正在阻止某些pygame模块,但我不确定,我发现了

我现在在使用最新的python和vsCode时遇到了麻烦。对于我使用的不同pygame函数,我不断得到“模块pygame没有空白成员Pylint no member”。K_a、K_s、K_d、K_f和这些控件在游戏中运行良好,但像QUIT和KEYDOWN以及LCTRL和RCTRL这样的控件会使游戏崩溃。VSC表示,pygame模块没有任何成员,即使是有效的成员。但当我尝试LCRTL或类似方法时,它崩溃了

我的理解是,这是一个安全功能,Pylint正在阻止某些pygame模块,但我不确定,我发现了一些类似的问题,人们建议添加“python.linting.pylintArgs”:[ “--extension pkg whitelist=pygame”和其他文件添加到settings.json文件中。但我已经尝试了这些,但仍然不起作用!我还尝试添加了import all pygame modules行,并尝试单独添加pygame模块,但没有任何效果。请帮助

还有,idk,如果有帮助的话,但当我将鼠标悬停在我的任何pygame模块上,比如K_a或K_LCRTL,它们显示为整数,而不是特殊的pygame模块。它们甚至没有突出显示,它们看起来就像普通文本


编辑:也许值得注意的是,VSC甚至知道它们是pygame控件,因为当我键入它们时,它甚至会自动为我填充它们。我认为它只是pylint阻止了某些控件。但正如我所说,它们都显示为“不是pygame成员,pylint非成员),而且我没有任何名为game或pygame的文件或任何与之相关的文件。

pylint仅分析代码,无法阻止在执行过程中访问库。如果在执行过程中出现导入错误,则表示此特定版本的pygame的导入错误,无论pylint是什么如果代码有效,就意味着pylint错误地认为导入是错误的

更准确地说,pylint默认情况下不会在C-binding中加载代码。Pygame有C-binding,因此这意味着pylint无法正确检查这些代码的导入,并且说由于C代码pylint无法分析,它实际上没有成员

在您的
扩展pkg白名单中添加pygame实际上就是这种情况下必须做的事情

# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code
extension-pkg-whitelist=pygame

但是在一天结束时,pylint可能会犯错误,如果导入真的很糟糕,你需要在测试后通过启动代码或禁用pylint来修复这些错误。检查导入是否符合
#pylint:disable=no member

谢谢你的回答。我还没有解决这个问题。我对这个问题还很陌生。我没有ried进入settings.json并添加了5个不同版本的pygame白名单,但都没有效果。除此之外,我不确定“extension package whitlelist”在哪里在vscode设置中没有白名单。我只是尝试在脚本中加入#pylint disable,它解决了pylint问题-但同样的事情正在发生。所有WASD键对pygame都可以正常工作,但RCTRL和LCTRL键会使游戏崩溃。它们是以相同的方式编写的,我不明白。你可以禁用
无成员
g对于整个项目也是全局的(在pylintrc中,或者在您的编辑器配置中)。关于RCTRL和LCTRL的崩溃,它看起来像是一个不同的问题,您可以用崩溃的stacktrace问另一个问题:)好的,谢谢。我可以发布另一个带有RCTRL代码的问题。