Eclipse und Probleme bei der CodeCompletion

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
DiGiT79
User
Beiträge: 5
Registriert: Freitag 21. Oktober 2005, 11:10

Hallo,

ich beginne grad erst mit Python, da finde ich eine gute CodeCompletion sehr hilfreich.
Eigentlich mag ich auch Eclipse (aus anderen Sprachen her), jedoch macht da die CodeCompletion bei Pydev echt probleme.

Wenn ich zb bei Komodo Edit eine Liste FileList habe, kann ich bei
"FileList. " direkt zwischen den verschiedensten Methoden wählen (append, sort etc).

Sehr hilfreich wenn man noch nicht alle Möglichkeiten kennt.

Eclpise mit Pydev bietet mir diese leider nicht
Nach Eingabe des Punktes bekomme ich nicht die möglichen Methoden, sondern "nur" sachen wie __call__ , __class__ etc.
Methode wie sort, append etc fehlen dort leider.

Nach langem googlen bin ich auf das Setting "Forced builtin libs" gestossen.
Nur woher weiss ich als Python Anfänger was ich da alles eintragen soll,damit ich eine vollständige CodeCompletion habe ?

Ich hoffe ihr könnt mir weiterhelfen.

Gruß und Danke

DiGiT

PS: Falls es wichtig ist, ich nutze Eclipse unter MAC OS X.
Bin auch nicht auf Eclipse "eingeschossen", ist halt ganz nett.

Wenn es aber ein anderes Tool mit "guter" CC gibt, nehme ich auch das :)
(Komodo Edit hat zwar die CC, aber das hat mir so zuviele Macken *g*)
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Sprachbedingt kann dir PyDev nicht wie das JDT für Java die vollständige Liste alle möglichen Namen anbieten. Dazu ist Python zu dynamisch. Vielleicht ist PyDev auch noch nicht so clever mit seinen Heuristiken, wie es sein könnte. Dank des größeres Hypes sind Ruby-IDEs hier schon weiter. Ich meine, PyDev wird von genau einem Menschen entwickelt.

Ich würde empfehlen, lieber die Funktionen zu lernen, statt auf die IDE zu vertrauen. Kommt einem - mir ging es nach vielen Jahren Java jedenfalls so - am Anfang ineffizient vor, aber inzwischen geht's recht gut von der Hand und ist gefühlt genauso schnell - wenn nicht schneller.

Eine Shell und die Funktionen `dir`und `help` reichen mir.

Ich hatte auch mit PyDev angefangen (eigentlich hoffte ich auf die Python-Variante von DLTK, doch die ist ja nie erschinen), doch da Django-Dateien nicht analysiert werden konnten, was Code Completion anging, bin ich zu vim bzw. TextMate gewechselt. Speziell eingestellt hatte ich allerdings nix, einfache Completion für z.B. Module `re`oder `os` ging out of the box.

Das von dir erwähnte "forced builtin libs" in den Preferences sorgt AFAIK dafür, dass PyDev einfach mal das Modul in einem Python-Prozess lädt und dann analysiert, was da so drin ist. Das kann besser funktionieren, als die Quelltexte statisch zu analysieren, kann aber auch (wie bei Django) nicht funktionieren, weil sich's nicht so direkt laden lässt.

Stefan
Antworten