문제

변수의 유형을 말함으로써 Pydev 코드 완료를 도울 수있는 방법이 있습니까?

PDT를 사용하면 그러한 목적으로 PHPDOC- 유사 구문을 사용할 수 있습니다.

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

그러나 지금까지는 파이썬에서 똑같이하는 방법을 알 수 없습니다.

도움이 되었습니까?

해결책

아니오 (참조 문서). Pydev가 가져온 물건과 언어 키워드를 완료하는 것처럼 보입니다.

그래도 이것이 많이 나올 것 같지 않습니다. 해당 변수는 기본값이없는 함수 인수로 전달 된 경우 Pydev에게만 알려지지 않은 것 같습니다. 따라서 자동 완성은 이미 작동합니다).

다른 팁

Assert 트릭은 Pydev 2.2.2로 저에게 효과가없는 것 같습니다. 아직도되어야합니까?

그러나 내가 시도한 또 다른 트릭과 그 작업은 다음과 같습니다.

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")

모든 경우에, 그것은 꽤 해킹 된 것처럼 보이고, 나는 일을하는 더 깨끗한 방법을 좋아할 것입니다 (문서화, 주석, 무엇이든)

사실, 당신은 isinstance ()를 할 수 있습니다.

예 :

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

PYDEV는 기능의 반환을 분석하므로 여러 경우에 대해 알고있을 수 있습니다.

또한 Python -o를 사용하는 경우 런타임 처벌이 없어야합니다 (어서를 제거합니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top