Damit man die Autocomplete-Funktion - die dem IntelliSense von Visual Studio ähnelt - für Python-Module nutzen kann, muss man zuerst einen Modulindex aufbauen. Mit Hilfe dieses Skriptes kann man das ganz einfach erledigen.
gen_python_api.py herunterladen und ausführen
die erstellte Datei python.api in ein beliebiges Verzeichnis kopieren (z.B.: /home/username/.scite/)
die Scite Einstellungsdatei öffnen und folgende Zeilen einfügen:
api.*.py=/pfad/zur/python.api autocompleteword.automatic=1 autocomplete.choose.single=1 autocomplete.python.ignorecase=0 autocomplete.python.start.characters=. autocomplete.python.fillups=( calltip.python.ignorecase=0 calltip.python.word.characters=._$(chars.alpha)$(chars.numeric)
Nach dem nächsten Scite Neustart wird nun bei Eingabe von beispielsweise import sys; sys. ein Dropdown Menü mit allen Möglichkeiten angezeigt.
Problembehandlung
Sollte das ausführen der gen_python_api.py mit folgender Fehlermeldung beendet werden muss das Skript angepasst werden.
>python -u "gen_python_api.py"
adding keywords ... ok
adding __builtins__ ...
Traceback (most recent call last):
File "gen_python_api.py", line 253, in <module>
processName(entryprefix = '', moduleprefix = '', name = builtin, ns = {})
File "gen_python_api.py", line 85, in processName
exec 'hasdoc = hasattr(' + moduleprefix + name + ', "__doc__")' in ns
File "<string>", line 1
hasdoc = hasattr(print, "__doc__")
^
SyntaxError: invalid syntax
>Exit code: 1Dies wird verursacht, da eine Funktion namens print in _ _builtin_ _ existiert. Diese muss beim erfassen der Funktionen ausgeklammert werden.
Dazu wird ab Zeile 253 der Quelltext wie folgt geändert:
1 # __builtins__
2 if add_builtins:
3 print '\nadding __builtins__ ...',
4 for builtin in dir(__builtins__):
5 if builtin != 'print':
6 processName(entryprefix = '', moduleprefix = '', name = builtin, ns = {})
7 print 'ok'