如何让PyCharmIDE为pygame的子模块做代码补全?
How to get PyCharm IDE to do code completion for pygame's sub-modules?
简介:pygame 是一个 python 模块,用于创建游戏。我已经正确安装了该模块,并且我的 PyCharm 成功导入了它。
我将直接跳到示例场景:
尝试对 pygame 下的子模块 "image" 使用获取代码完成工作正常:
pygame.image
当我继续输入并尝试在图像下完成代码时,它不起作用:
pygame.image. # shows a suggestions list, but list doesn't contain any
# function names under the pygame.image sub-module
我已经尝试了很多年。 PyCharm 中的 python 控制台可以做到这一点(它使用 IPython,如果我错了请纠正我)但编辑器不能。
PS 很抱歉没有显示上面的屏幕截图,我没有足够的 Whosebug 点数来 post 图片
JetBrains 是通用的 IDE。 IntelliJ 的自动完成功能与用于 PyCharm 和所有其他环境的自动完成功能相同。因此,自动完成是从您现有的代码中派生出来的,而不是从语言的模块中派生出来的。有关更多信息,请参阅 here。
以下是专门针对 pygame 解决此问题的方法:
- 转到您的 pygame 文件夹并在文本编辑器中打开 __init__.py
- 使用 try/except 子句导航到导入部分(第 109 行左右)
- 将格式从 import pygame.module 更改为 from pygame import module 您想要的模块
例如改
try: import pygame.event
至
try: from pygame import event
重新启动 PyCharm 它应该可以工作:)
这是我糟糕的解决方案...我基本上导入了我认为需要的那些,如果我需要时钟之类的东西,我会把它添加到顶部,如果我要使用它的话很多。
import pygame
import pygame.draw as draw
import pygame.cursors as cursors
import pygame.math as math
import pygame.display as display
import pygame.event as event
import pygame.image as image
import pygame.joystick as joystick
import pygame.key as key
import pygame.mouse as mouse
import pygame.sprite as sprite
import pygame.threads as threads
它看起来很糟糕,但可以自动完成。
简介:pygame 是一个 python 模块,用于创建游戏。我已经正确安装了该模块,并且我的 PyCharm 成功导入了它。
我将直接跳到示例场景:
尝试对 pygame 下的子模块 "image" 使用获取代码完成工作正常:
pygame.image
当我继续输入并尝试在图像下完成代码时,它不起作用:
pygame.image. # shows a suggestions list, but list doesn't contain any
# function names under the pygame.image sub-module
我已经尝试了很多年。 PyCharm 中的 python 控制台可以做到这一点(它使用 IPython,如果我错了请纠正我)但编辑器不能。
PS 很抱歉没有显示上面的屏幕截图,我没有足够的 Whosebug 点数来 post 图片
JetBrains 是通用的 IDE。 IntelliJ 的自动完成功能与用于 PyCharm 和所有其他环境的自动完成功能相同。因此,自动完成是从您现有的代码中派生出来的,而不是从语言的模块中派生出来的。有关更多信息,请参阅 here。
以下是专门针对 pygame 解决此问题的方法:
- 转到您的 pygame 文件夹并在文本编辑器中打开 __init__.py
- 使用 try/except 子句导航到导入部分(第 109 行左右)
- 将格式从 import pygame.module 更改为 from pygame import module 您想要的模块
例如改
try: import pygame.event
至
try: from pygame import event
重新启动 PyCharm 它应该可以工作:)
这是我糟糕的解决方案...我基本上导入了我认为需要的那些,如果我需要时钟之类的东西,我会把它添加到顶部,如果我要使用它的话很多。
import pygame
import pygame.draw as draw
import pygame.cursors as cursors
import pygame.math as math
import pygame.display as display
import pygame.event as event
import pygame.image as image
import pygame.joystick as joystick
import pygame.key as key
import pygame.mouse as mouse
import pygame.sprite as sprite
import pygame.threads as threads
它看起来很糟糕,但可以自动完成。