Frage

Gibt es eine Möglichkeit PyDev Code-Vervollständigung zu helfen, indem sie den Typ einer Variablen zu sagen?

Mit PDT können Sie PHPDoc-ähnliche Syntax für diesen Zweck verwendet werden:

/* @var $my_var MyClass */
$my_var = myFunction();
// PDT is able to figure out that $my_var is a MyClass object.

Aber bis jetzt, ich kann nicht herausfinden, wie das gleiche zu tun in Python.

War es hilfreich?

Lösung

Nein (siehe docs ). Es sieht aus wie PyDev Abschluss der importierten Sachen und Schlüsselwörter von der Fall ist.

Es scheint nicht, wie dies obwohl viele kommen würde. Die Variable in Frage scheint, wie es nur unbekannt pydev wäre, wenn es keinen Standardwert value.And als Funktion Argument übergeben wurde, wenn Sie eine Funktion für den Betrieb auf eigene Klasse haben, wie es scheint, dass ein Klassenmitglied sein sollte ( so funktioniert die automatische Vervollständigung würde bereits).

Andere Tipps

Die Assertion Trick scheint nicht mit PyDev 2.2.2 für mich zu arbeiten; es ist nach wie vor soll?

Doch ein weiterer Trick, den ich versuchte, und dass die Arbeit ist die folgende:

class Foo(object):
    def __init__(self, bar):
       self.bar = bar
       # Tricking PyDev
       if (not self.bar):
          self.bar = Bar()
          raise Exception("Bar should not be null")

In allen Fällen sieht es ziemlich hacky, und ich würde eine sauberere Art und Weise liebt es, Dinge zu tun (Dokumentation, Kommentierung, was auch immer)

Eigentlich können Sie, wenn Sie tun, um eine Assertion isinstance ()

Z. B:.

a = function()
assert isinstance(a, MyClass)
a. <- would get the proper completions

Beachten Sie, dass Pydev die Rückkehr der Funktionen tut analysieren, so es möglich ist, dass es, dass auf einer Reihe von Fällen kennt.

Auch die nicht-Laufzeitstrafen haben sollte, wenn Sie Python verwenden -O (das ist der behauptet wird entfernen)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top