Friday, November 14, 2008

NetBeans Screenshot of the Week #36: Python Code Completion

WARNING: This blog entry was imported from my old blog on blogs.sun.com (which used different blogging software), so formatting and links may not be correct.


Here are some screenshots of the code completion working for Python.
First, let's try it from an import statement:



Note that the documentation for the module is shown. Next, let's
try completing on imported symbols - again we've got the documentation:



I'm writing a unit test, extending TestCase. Now let's try overriding
some methods - completion after typing def:



Obviously, invoking methods on self. will show the inherited
methods - and their documentation:



Here's completion in my function (not on self) showing
the local variables, imported symbols and builtins. Notice that deprecated
methods are marked with strikethrough (and deprecated modules are in imports
as well, though I didn't show that above).



Notice also that the documentation here looks better - it has links,
colors, etc. This is because NetBeans supports the reStructuredText
Docstring Format (see PEP 287).
System libraries are being documented in this way now, so more of the
documentation will start looking like this.

When NetBeans finds embedded code, it will also syntax highlight the
code fragments in the documentation:



You can use this in your own documentation as well obviously.
Here's a file where I have restructured text. As I'm writing it,
I can -immediately- preview the text myself by just pressing
Ctrl-Shift-Space (Show Documentation - for those who don't know, you
can do this on regular code as well if you want to just get the documentation
for the code at the caret, rather than completion alternatives up to
the caret prefix.)



Here's a final example - completion after raise (or
exception) will show completion for all Error
classes:




I'll be quiet or about a week now -- I'm going on vacation! Not great
timing given the release date, but this has been planned since February...


No comments:

Post a Comment