Updated Autocomplete for Python 3
-
I’ve been using NPP as my Python editor ever since I started learning it. I first learned Python 2.7, and NPP has support for Python 2.7’s syntax, and hints on what functions do when I typing them (like telling me what parameters I need). This was all very helpful when learning, and is something I still appreciate.
However, I have recently updated to Python 3.7, and there are some changes between these versions. NPP still gives me suggestions as though I’m using Python 2.7, even though I don’t even have it installed on my computer anymore.
This is best seen when getting user input. In Python 2.7, input() was a function that would only accept and return integers as input, and raw_input() was a function that would accept any input because it would be returned as a string.
In Python 3.7, there is no such function as raw_input(). It was removed, and now input() uses strings instead of integers.
However, NPP still tells me that input() returns an integer (in a round-a-bout sort of way) and that a function called raw_input() exists and returns a string.How do I make NPP give suggestions for Python 3 instead of Python 2?
-
The autoComplete files are available within autoCompletion directory.
The file you are looking for is called python.xml.
In addition you might add/change the langs.xml file, or in case you use a theme different to default theme the THEME_NAME.xml from theme directory, in order to get the new keywords.
Note, adding keywords can also be done by using the gui
Settings->Style Configurator->Language(Python)->Style(KEYWORDS) -
@Ekopalypse gave a good starting place. If you’d like more details, see the Notepad++ UserManaual, especially:
-
There was also a recent issue filed regarding this: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/6259 “Fix keywords list according to Python 3”