Autocomplete Pydev缺少库代码完成

Autocomplete Pydev缺少库代码完成,autocomplete,pygame,pydev,code-completion,Autocomplete,Pygame,Pydev,Code Completion,今天我想看看python/pygame,并下载了pydev作为我的IDE。 总体上相当满意,但pygame类似乎缺少自动完成功能 在“screen”变量中,它只列出了所有“x”函数,我猜它们是默认的类对象函数。 pydev文件夹将添加到PYTHONPATH import os, sys import pygame from pygame.locals import * class Main: background_colour = (255,0,255) def __ini

今天我想看看python/pygame,并下载了pydev作为我的IDE。 总体上相当满意,但pygame类似乎缺少自动完成功能

在“screen”变量中,它只列出了所有“x”函数,我猜它们是默认的类对象函数。 pydev文件夹将添加到PYTHONPATH

import os, sys
import pygame
from pygame.locals import *

class Main:

    background_colour = (255,0,255)

    def __init__(self):
        pygame.init();
        self.screen = pygame.display.set_mode((500, 500));
        self.screen.fill(self.background_colour);
        pygame.display.flip();

        running = True
        while running:

            self.update();

            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    running = False


    def update(self):
        pass

if __name__ == '__main__':
    Main()

代码工作得完美无瑕,但对于像我这样的pygame/python noob来说,没有任何代码完成是无法忍受的。

问题是pydev不知道self.screen属于哪种类型

一种解决方法是使用局部变量和断言isinstance(…)来帮助pydev


我刚刚在强制内置中添加了“pygame”,但它没有任何区别。在
窗口>首选项>Pydev>编辑器>代码完成中启用
使用代码完成?
ID?这非常难看,但我想它可以工作。我希望强制内置程序能够在编辑过程中以某种方式编译文件,这样它就知道了类型。但是哦,好吧。这是某种“黑客”方法,还是这仅仅是assert的作用?是的,这相当黑客。对于像python这样的动态语言来说,代码完成是非常困难的,因为在运行时一切都会发生变化,可以创建全新的类型,可以更改方法,动态导入模块等等。但是pygame并不复杂,而且我通常都会随时准备好。