Во многих случаях (например, параметры функции) Pydev статически не знает тип переменной. Поэтому завершение кода (после .
или при использовании ctrl+space
) не работает.
В большинстве случаев вы знаете, какой тип будет использоваться во время разработки программного обеспечения. Есть ли способ намекнуть Pydev, чтобы он правильно завершил код?
Я предполагаю, что для этого может потребоваться определенная функция Pydev или, возможно, даже новый PIP Python.
На самом деле это общая проблема со всеми динамическими языками...
ОБНОВЛЕНИЕ:
Возможно, приведен пример для пояснения:
def some_func(a_list, an_object):
a_list.app # Here I would not get code completion for append
Пример того, что может работать, если Pydev (или PIP) поддерживает это:
from someobj import SomeObject
def some_func(a_list, an_object):
# typecast: a_list=list
# typecast: an_object=SomeObject
a_list.app # Now code completion would show append
Я не одобряю этот конкретный метод — это просто пример системы, которая может работать. Опять же, конечно, это не должно быть обязательным, но иногда отсутствие возможности намекнуть на тип раздражает.