Python – Enhance PyDev’s Code Completion

Because Python isn’t strongly typed, sometimes PyDev doesn’t know what type a variable is – and therefore it cannot give you accurate code completions. Here’s how to make that better.

In simpler situations, PyDev works very well. For example:

emp = Employee()

Typing ’emp.’ will get you a good autocomplete.

Now, let’s say you have something like this:

emp = something.find_employee("dave")

Then ’emp.’ won’t get you anything – PyDev doesn’t necessarily know what type is being returned.

If you use python’s assert method:

emp = something.find_employee("dave")
assert isinstance(emp, Employee)

PyDev now knows what type the variable is, and you’ll get more effective code completions.

When running in production, you can pass the “-O” flag to the interpreter, and it will ignore the assert statements.