Во многих случаях (например, функциональные параметры) Pydev не статически знает тип переменной. Поэтому завершение кода (после .
или при использовании ctrl+space
) не работает.
В большинстве случаев вы знаете, какой тип будет во время выполнения при разработке программного обеспечения. Есть ли способ намекнуть Pydev на правильное заполнение кода?
Я предполагаю, что для этого может потребоваться конкретная функция Pydev или, возможно, даже новый PIP-код Python.
На самом деле это типичная проблема со всеми динамическими языками...
UPDATE:
Возможно, для разъяснения есть пример:
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
Я не одобряю этот конкретный метод - это просто пример системы, которая могла бы работать. Опять же, конечно, это не должно быть обязательным, но иногда отсутствие возможности намекать на тип раздражает.