当前位置: 首页 > 知识库问答 >
问题:

PyCharm自动完成功能不适用于pygame

谢阳成
2023-03-14

我刚刚安装了 PyCharm 社区版 3.4.1,并尝试在其中制作一个简单的 pygame 项目。我发现代码完成以一种奇怪的方式运行。在这种情况下:

from pygame import event
event.

当我键入事件时会立即显示带有事件方法的完成弹出窗口。但在第二种情况下:

import pygame
pygame.event.

弹出窗口仅包含对象方法。

如何学习自动完成工具来更深入地查看库?

共有3个答案

杨甫
2023-03-14

这与pygame的构建方式有关。

该:

python\Lib\site-packages\pygame\__init__.py

文件包含以下结构:

try: import pygame.cdrom
except (ImportError,IOError):cdrom=MissingModule("cdrom", geterror(), 1)

这允许丢失导入。然而,这混淆了py魅力。删除try除了将修复py魅力自动完成。

易招
2023-03-14

我尝试了Daid的答案(删除了init.py中的try/except),但没有成功,但非常接近!以下是您可以为pygame专门修复的方法:

  1. 转到py游戏文件夹并在文本编辑器中打开init.py
  2. 使用try/除子句导航到导入部分(第109行左右)
  3. 将您想要的模块的格式从导入pygame.module更改为from py游戏导入模块

例如,更改

try: import pygame.event

try: from pygame import event

重新启动PyCharm,它应该可以工作:)

马阳曦
2023-03-14

除了创建自己的骨架之外,你不能。如果启用以下选项,可以使pycharm更好地完成代码:

但除此之外,你运气不好。Python很难完成代码,因为它是一种动态语言,并且存根(skeleton)并不存在于所有代码中。

 类似资料:
  • 问题内容: 我的PHP代码将JSON数据返回到jquery自动完成功能,但是自动完成功能不起作用 jQuery自动完成 PHP代码 JSON数据输出 在输入“ Ga”时,我在前端得到了空的li标签。 问题答案: 从: http://jqueryui.com/demos/autocomplete/ 您的JSON需要包含或(或两者)。更改为,它应该可以正常工作。

  • 问题内容: 我使用Eclipse Oxygen.2 Release(4.7.2) 我尝试了一些lambda表达式,并遇到以下问题: 我编写不带类型的lambda参数,Eclipse自动完成效果很好: 如果我编写具有类型的lambda参数,则不会自动完成: 但是我可以自己编写,并且一切正常: 这是Eclipse中的错误吗?有人可以解释这种行为吗? 问题答案: Yes, this is a known

  • 问题内容: 我正在尝试实现自动补全功能,但是找不到在Swift中可用的示例。下面,我打算转换Ray Wenderlich的自动完成教程 和2010年的示例代码。最后,代码进行了编译,但是没有显示包含可能完成的表格,而且我没有经验来了解为什么它未被隐藏shouldChangeCharactersInRange。 问题答案: 用下面的内容替换您的函数内容。希望对您有帮助。

  • 问题内容: 我该如何做出反应渲染呢? 问题答案: 大写字母“ C” 。在React文档中提到了这一点: https://facebook.github.io/react/docs/tags-and- attributes.html

  • 每当我创建一个函数,使其成为视图并将模板映射到它上面时,PyCharm 中的自动完成功能都可以工作。如果您输入类似 { 的内容,其中 是一个模型,并且是您的上下文对象之一,那么它将为您提供一个下拉菜单,其中包含可能的完成。 然而,如果你创建了一个基于类的视图,那么这是行不通的。我能解决这个问题吗?

  • 问题内容: 我无法在Windows上为OpenCV(Python)自动完成工作。 根据此处的Abid的说明,我将cv2.pyd文件粘贴到C:\Python27 \ Lib \ site-packages中。 在Python代码中,我如下导入: 我还安装了numpy,它在站点包中创建了自己的文件夹,这与OpenCV不同(我直接将其粘贴到站点包中)。 使用此设置,即使调用OpenCV方法,代码也不会出