Eclipse pydev auto-suggestions don't work in some cases

前端 未结 3 1861
长发绾君心
长发绾君心 2021-01-12 14:49

My question is probably stupid and I hope somebody has succeeded in solving this issue.

Sometimes I cannot see right suggestions in auto-completion box (Eclipse 3.5.

相关标签:
3条回答
  • 2021-01-12 14:54

    Chances are, the current PyDev build hasn't gone to a point to be able to extract from a function (message_from_file() in your case) to know what kind of object it returns in order to provide auto-completion hinting.

    See http://sourceforge.net/projects/pydev/forums/forum/293649/topic/3697707.

    Edit: I believe there is interest in PyDev to support the new Python 3 function syntax, PEP 3107, which will solve some of your problems ... in the future.

    0 讨论(0)
  • 2021-01-12 15:05

    I know @type in docstring works. As in:

    from collections import deque
    
    def foo(a):
    ''' code completion sample
    @type a: deque
    '''
    return a.popleft()  # Code completion will work here
    

    I have not been able to find a way to do it inline within code (except in ways mentioned elsewhere where you simply pretend to assign the variable an instance of a type) as in:

    from collections import deque
    
    def foo(a):
    ''' code completion sample '''
    if false: a = deque()
    return a.popleft()  # Code completion will also work here
    

    But I'm not fond of this method because it probably imposes some performance / code size penalty. I don't know / haven't checked if Python is smart enough to remove this assignment during compile time.

    Thanks to SiSoie, here's a link to page explaining possibilities.

    0 讨论(0)
  • 2021-01-12 15:18

    I struggled with this question quite a bit too, until I came across this link. I used the second solution suggested in that link, and it works like a charm.

    Basically you need to insert assert isinstance(msg, Message) after you get msg from the function call.

    0 讨论(0)
提交回复
热议问题