2010-03-18 15 views
5

Ich begann vor ungefähr einem Monat, Python zu lernen und zu lieben. Tauchen Sie in Python, Django und jetzt Tornado ist der Weg, den ich während dieser Zeit folgte. Ich wählte pydev als eine IDE, da es am aktuellsten zu sein scheint und ich wollte zurück zu Eclipse kommen, da ich Netbeans für PHP und Java benutze.Schlechte automatische Vervollständigung mit Python auf Pydev?

Meine Frage ist folgende: Wenn ich Klassen in PHP schreiben oder Java-i meine Methoden und Eigenschaften deklarieren. Ich instanziiere sie woanders und benutze sie. Die Autovervollständigung funktioniert großartig für Java und PHP, aber mit Python scheint es immer eine Menge Müll zu sein und niemals die Methoden des realen Objekts aus der Klasse, die ich instanziiert habe.

Ist es das gleiche für Sie? Ist es eine Einschränkung von pydev? Mache ich etwas falsch ?

Vielen Dank im Voraus für das Zeigen von mir in eine Richtung. Matthieu.

Antwort

1

Stellen Sie zuerst sicher, dass Ihre interpreter korrekt eingerichtet ist.

Window | Preferences | Pydev | Interpreter - Python 

Ich benutze CPython auf Linux so mein Dolmetscher

cpython  /usr/bin/python25 

Unter Bibliotheken, stellen Sie sicher, dass das alle Standard PYTHONPATH Sachen drin ist:

System Libs 
    /usr/lib/python2.5 
    /usr/lib/python2.5/site-packages 
    /usr/lib/python2.5/wx-2.8-gtk2-unicode 
    /usr/lib/python2.5/lib-tk 
    /usr/lib/python25.zip 
    etc.... 

Sie können auch alle nicht hinzufügen Standardpfade hier, indem Sie auf Neuer Ordner klicken.

Fügen Sie jedoch keine Pfade zu Ihrem eigenen Quellcode hinzu. Diese sollten bei der Konfiguration eines Pydev-Projekts eintreffen, wählen Sie einen Ordner "src" und starten Sie die Erstellung von Modulen, siehe here.

+0

ich überprüfe Mein Setup, um deine Punkte zu verifizieren. Was ich mit Müll meinte, war, dass Pydev Autosuggest mir viele Ergebnisse ohne irgendeine Beziehung zu dem Objekt, das ich instanziiert hatte, gab. Genauso, als würde es mir alle Methoden aus allen Klassen geben, die es im Gedächtnis hatte. – user296546

+0

Nun, ich erkannte, dass alle Klassen, die ich geschrieben habe, der Grund für das Messen waren, da selbst die einfachen Klassen von der Objektklasse übernommen wurden. Was ist der Zweck? – user296546

0

Nun, wie Sie nicht sagen, was ‚Müll‘ zeigt, ist es ein bisschen schwer zu erraten, aber ich glaube, Sie meinen die __hash__, __str__, etc von der Objektklasse (ist es das?)

Wenn das der Fall, dies wurde in der aktuellen nächtlichen Build behandelt (die '_' Methoden werden immer noch angezeigt, aber mit niedrigerer Priorität, also die Methoden, die Sie wahrscheinlich mehr interessiert sind, sind an der Spitze)

Verwandte Themen